Subject: [PATCH] Built motion from commit (unavailable).|2.4.5

From: Andrea Bianco <[email-masked]>
Date: Thu, 30 Jan 2020 12:40:14 +0100

---
 apidoc/api_data.js                                 |    2 +-
 apidoc/api_data.json                               |    2 +-
 apidoc/api_project.js                              |    2 +-
 apidoc/api_project.json                            |    2 +-
 package.json                                       |    2 +-
 public/index.html                                  |    2 +-
 public/scripts/app.6d6e8949.js                     |    1 -
 public/scripts/app.be861090.js                     |    1 +
 server/api/action/action.attributes.js             |    2 +-
 server/api/action/action.controller.js             |    2 +-
 server/api/action/action.model.js                  |    2 +-
 server/api/action/action.rpc.js                    |    2 +-
 server/api/action/index.js                         |    2 +-
 .../analyticCustomReport.attributes.js             |    2 +-
 .../analyticCustomReport.controller.js             |    2 +-
 .../analyticCustomReport.model.js                  |    2 +-
 .../analyticCustomReport.rpc.js                    |    2 +-
 server/api/analyticCustomReport/index.js           |    2 +-
 .../analyticDefaultReport.attributes.js            |    2 +-
 .../analyticDefaultReport.controller.js            |    2 +-
 .../analyticDefaultReport.model.js                 |    2 +-
 .../analyticDefaultReport.rpc.js                   |    2 +-
 server/api/analyticDefaultReport/index.js          |    2 +-
 .../analyticExtractedReport.attributes.js          |    2 +-
 .../analyticExtractedReport.controller.js          |    2 +-
 .../analyticExtractedReport.model.js               |    2 +-
 .../analyticExtractedReport.rpc.js                 |    2 +-
 server/api/analyticExtractedReport/index.js        |    2 +-
 .../analyticFieldReport.attributes.js              |    2 +-
 .../analyticFieldReport.controller.js              |    2 +-
 .../analyticFieldReport.model.js                   |    2 +-
 .../analyticFieldReport/analyticFieldReport.rpc.js |    2 +-
 server/api/analyticFieldReport/index.js            |    2 +-
 .../analyticMetric/analyticMetric.attributes.js    |    2 +-
 .../analyticMetric/analyticMetric.controller.js    |    2 +-
 server/api/analyticMetric/analyticMetric.model.js  |    2 +-
 server/api/analyticMetric/analyticMetric.rpc.js    |    2 +-
 server/api/analyticMetric/index.js                 |    2 +-
 .../analyticTreeReport.attributes.js               |    2 +-
 .../analyticTreeReport.controller.js               |    2 +-
 .../analyticTreeReport/analyticTreeReport.model.js |    2 +-
 .../analyticTreeReport/analyticTreeReport.rpc.js   |    2 +-
 server/api/analyticTreeReport/index.js             |    2 +-
 server/api/attachment/attachment.attributes.js     |    2 +-
 server/api/attachment/attachment.controller.js     |    2 +-
 server/api/attachment/attachment.model.js          |    2 +-
 server/api/attachment/attachment.rpc.js            |    2 +-
 server/api/attachment/index.js                     |    2 +-
 server/api/authGoogle/authGoogle.controller.js     |    2 +-
 server/api/authGoogle/index.js                     |    2 +-
 server/api/authLocal/authLocal.controller.js       |    2 +-
 server/api/authLocal/index.js                      |    2 +-
 server/api/automation/automation.attributes.js     |    2 +-
 server/api/automation/automation.controller.js     |    2 +-
 server/api/automation/automation.model.js          |    2 +-
 server/api/automation/automation.rpc.js            |    2 +-
 server/api/automation/index.js                     |    2 +-
 server/api/campaign/campaign.attributes.js         |    2 +-
 server/api/campaign/campaign.controller.js         |    2 +-
 server/api/campaign/campaign.model.js              |    2 +-
 server/api/campaign/campaign.rpc.js                |    2 +-
 server/api/campaign/index.js                       |    2 +-
 server/api/cannedAnswer/cannedAnswer.attributes.js |    2 +-
 server/api/cannedAnswer/cannedAnswer.controller.js |    2 +-
 server/api/cannedAnswer/cannedAnswer.model.js      |    2 +-
 server/api/cannedAnswer/cannedAnswer.rpc.js        |    2 +-
 server/api/cannedAnswer/index.js                   |    2 +-
 server/api/cdr/cdr.attributes.js                   |    2 +-
 server/api/cdr/cdr.controller.js                   |    2 +-
 server/api/cdr/cdr.model.js                        |    2 +-
 server/api/cdr/cdr.rpc.js                          |    2 +-
 server/api/cdr/index.js                            |    2 +-
 .../chatApplication/chatApplication.attributes.js  |    2 +-
 .../chatApplication/chatApplication.controller.js  |    2 +-
 .../api/chatApplication/chatApplication.model.js   |    2 +-
 server/api/chatApplication/chatApplication.rpc.js  |    2 +-
 server/api/chatApplication/index.js                |    2 +-
 server/api/chatGroup/chatGroup.attributes.js       |    2 +-
 server/api/chatGroup/chatGroup.controller.js       |    2 +-
 server/api/chatGroup/chatGroup.events.js           |    2 +-
 server/api/chatGroup/chatGroup.model.js            |    2 +-
 server/api/chatGroup/chatGroup.rpc.js              |    2 +-
 server/api/chatGroup/chatGroup.socket.js           |    2 +-
 server/api/chatGroup/index.js                      |    2 +-
 .../chatInteraction/chatInteraction.attributes.js  |    2 +-
 .../chatInteraction/chatInteraction.controller.js  |    2 +-
 .../api/chatInteraction/chatInteraction.events.js  |    2 +-
 .../api/chatInteraction/chatInteraction.model.js   |    2 +-
 server/api/chatInteraction/chatInteraction.rpc.js  |    2 +-
 .../api/chatInteraction/chatInteraction.socket.js  |    2 +-
 server/api/chatInteraction/index.js                |    2 +-
 .../chatInternalMessage.attributes.js              |    2 +-
 .../chatInternalMessage.controller.js              |    2 +-
 .../chatInternalMessage.events.js                  |    2 +-
 .../chatInternalMessage.model.js                   |    2 +-
 .../chatInternalMessage/chatInternalMessage.rpc.js |    2 +-
 .../chatInternalMessage.socket.js                  |    2 +-
 server/api/chatInternalMessage/index.js            |    2 +-
 server/api/chatMessage/chatMessage.attributes.js   |    2 +-
 server/api/chatMessage/chatMessage.controller.js   |    2 +-
 server/api/chatMessage/chatMessage.events.js       |    2 +-
 server/api/chatMessage/chatMessage.model.js        |    2 +-
 server/api/chatMessage/chatMessage.rpc.js          |    2 +-
 server/api/chatMessage/chatMessage.socket.js       |    2 +-
 server/api/chatMessage/index.js                    |    2 +-
 .../chatOfflineMessage.attributes.js               |    2 +-
 .../chatOfflineMessage.controller.js               |    2 +-
 .../chatOfflineMessage/chatOfflineMessage.model.js |    2 +-
 .../chatOfflineMessage/chatOfflineMessage.rpc.js   |    2 +-
 server/api/chatOfflineMessage/index.js             |    2 +-
 .../chatProactiveAction.attributes.js              |    2 +-
 .../chatProactiveAction.controller.js              |    2 +-
 .../chatProactiveAction.model.js                   |    2 +-
 .../chatProactiveAction/chatProactiveAction.rpc.js |    2 +-
 server/api/chatProactiveAction/index.js            |    2 +-
 server/api/chatQueue/chatQueue.attributes.js       |    2 +-
 server/api/chatQueue/chatQueue.controller.js       |    2 +-
 server/api/chatQueue/chatQueue.events.js           |    2 +-
 server/api/chatQueue/chatQueue.model.js            |    2 +-
 server/api/chatQueue/chatQueue.rpc.js              |    2 +-
 server/api/chatQueue/chatQueue.socket.js           |    2 +-
 server/api/chatQueue/index.js                      |    2 +-
 .../chatQueueReport/chatQueueReport.attributes.js  |    2 +-
 .../chatQueueReport/chatQueueReport.controller.js  |    2 +-
 .../api/chatQueueReport/chatQueueReport.model.js   |    2 +-
 server/api/chatQueueReport/chatQueueReport.rpc.js  |    2 +-
 server/api/chatQueueReport/index.js                |    2 +-
 .../chatTransferReport.attributes.js               |    2 +-
 .../chatTransferReport.controller.js               |    2 +-
 .../chatTransferReport/chatTransferReport.model.js |    2 +-
 .../chatTransferReport/chatTransferReport.rpc.js   |    2 +-
 server/api/chatTransferReport/index.js             |    2 +-
 server/api/chatWebsite/chatWebsite.attributes.js   |    2 +-
 server/api/chatWebsite/chatWebsite.controller.js   |    2 +-
 server/api/chatWebsite/chatWebsite.events.js       |    2 +-
 server/api/chatWebsite/chatWebsite.model.js        |    2 +-
 server/api/chatWebsite/chatWebsite.rpc.js          |    2 +-
 server/api/chatWebsite/chatWebsite.socket.js       |    2 +-
 server/api/chatWebsite/index.js                    |    2 +-
 server/api/cmCompany/cmCompany.attributes.js       |    2 +-
 server/api/cmCompany/cmCompany.controller.js       |    2 +-
 server/api/cmCompany/cmCompany.model.js            |    2 +-
 server/api/cmCompany/cmCompany.rpc.js              |    2 +-
 server/api/cmCompany/index.js                      |    2 +-
 server/api/cmContact/cmContact.attributes.js       |    2 +-
 server/api/cmContact/cmContact.controller.js       |    2 +-
 server/api/cmContact/cmContact.events.js           |    2 +-
 server/api/cmContact/cmContact.model.js            |    2 +-
 server/api/cmContact/cmContact.rpc.js              |    2 +-
 server/api/cmContact/cmContact.socket.js           |    2 +-
 server/api/cmContact/index.js                      |    2 +-
 .../api/cmCustomField/cmCustomField.attributes.js  |    2 +-
 .../api/cmCustomField/cmCustomField.controller.js  |    2 +-
 server/api/cmCustomField/cmCustomField.model.js    |    2 +-
 server/api/cmCustomField/cmCustomField.rpc.js      |    2 +-
 server/api/cmCustomField/index.js                  |    2 +-
 server/api/cmHopper/cmHopper.attributes.js         |    2 +-
 server/api/cmHopper/cmHopper.controller.js         |    2 +-
 server/api/cmHopper/cmHopper.model.js              |    2 +-
 server/api/cmHopper/cmHopper.rpc.js                |    2 +-
 server/api/cmHopper/index.js                       |    2 +-
 .../api/cmHopperBlack/cmHopperBlack.attributes.js  |    2 +-
 .../api/cmHopperBlack/cmHopperBlack.controller.js  |    2 +-
 server/api/cmHopperBlack/cmHopperBlack.model.js    |    2 +-
 server/api/cmHopperBlack/cmHopperBlack.rpc.js      |    2 +-
 server/api/cmHopperBlack/index.js                  |    2 +-
 .../api/cmHopperFinal/cmHopperFinal.attributes.js  |    2 +-
 .../api/cmHopperFinal/cmHopperFinal.controller.js  |    2 +-
 server/api/cmHopperFinal/cmHopperFinal.model.js    |    2 +-
 server/api/cmHopperFinal/cmHopperFinal.rpc.js      |    2 +-
 server/api/cmHopperFinal/index.js                  |    2 +-
 .../cmHopperHistory/cmHopperHistory.attributes.js  |    2 +-
 .../cmHopperHistory/cmHopperHistory.controller.js  |    2 +-
 .../api/cmHopperHistory/cmHopperHistory.model.js   |    2 +-
 server/api/cmHopperHistory/cmHopperHistory.rpc.js  |    2 +-
 server/api/cmHopperHistory/index.js                |    2 +-
 server/api/cmList/cmList.attributes.js             |    2 +-
 server/api/cmList/cmList.controller.js             |    2 +-
 server/api/cmList/cmList.events.js                 |    2 +-
 server/api/cmList/cmList.model.js                  |    2 +-
 server/api/cmList/cmList.rpc.js                    |    2 +-
 server/api/cmList/cmList.socket.js                 |    2 +-
 server/api/cmList/index.js                         |    2 +-
 server/api/condition/condition.attributes.js       |    2 +-
 server/api/condition/condition.controller.js       |    2 +-
 server/api/condition/condition.model.js            |    2 +-
 server/api/condition/condition.rpc.js              |    2 +-
 server/api/condition/index.js                      |    2 +-
 server/api/dashboard/dashboard.attributes.js       |    2 +-
 server/api/dashboard/dashboard.controller.js       |    2 +-
 server/api/dashboard/dashboard.events.js           |    2 +-
 server/api/dashboard/dashboard.model.js            |    2 +-
 server/api/dashboard/dashboard.rpc.js              |    2 +-
 server/api/dashboard/dashboard.socket.js           |    2 +-
 server/api/dashboard/index.js                      |    2 +-
 .../api/dashboardItem/dashboardItem.attributes.js  |    2 +-
 .../api/dashboardItem/dashboardItem.controller.js  |    2 +-
 server/api/dashboardItem/dashboardItem.events.js   |    2 +-
 server/api/dashboardItem/dashboardItem.model.js    |    2 +-
 server/api/dashboardItem/dashboardItem.rpc.js      |    2 +-
 server/api/dashboardItem/dashboardItem.socket.js   |    2 +-
 server/api/dashboardItem/index.js                  |    2 +-
 server/api/disposition/disposition.attributes.js   |    2 +-
 server/api/disposition/disposition.controller.js   |    2 +-
 server/api/disposition/disposition.model.js        |    2 +-
 server/api/disposition/disposition.rpc.js          |    2 +-
 server/api/disposition/index.js                    |    2 +-
 server/api/faxAccount/faxAccount.attributes.js     |    2 +-
 server/api/faxAccount/faxAccount.controller.js     |    2 +-
 server/api/faxAccount/faxAccount.events.js         |    2 +-
 server/api/faxAccount/faxAccount.model.js          |    2 +-
 server/api/faxAccount/faxAccount.rpc.js            |    2 +-
 server/api/faxAccount/faxAccount.socket.js         |    2 +-
 server/api/faxAccount/index.js                     |    2 +-
 .../faxApplication/faxApplication.attributes.js    |    2 +-
 .../faxApplication/faxApplication.controller.js    |    2 +-
 server/api/faxApplication/faxApplication.model.js  |    2 +-
 server/api/faxApplication/faxApplication.rpc.js    |    2 +-
 server/api/faxApplication/index.js                 |    2 +-
 .../faxInteraction/faxInteraction.attributes.js    |    2 +-
 .../faxInteraction/faxInteraction.controller.js    |    2 +-
 server/api/faxInteraction/faxInteraction.events.js |    2 +-
 server/api/faxInteraction/faxInteraction.model.js  |    2 +-
 server/api/faxInteraction/faxInteraction.rpc.js    |    2 +-
 server/api/faxInteraction/faxInteraction.socket.js |    2 +-
 server/api/faxInteraction/index.js                 |    2 +-
 server/api/faxMessage/faxMessage.attributes.js     |    2 +-
 server/api/faxMessage/faxMessage.controller.js     |    2 +-
 server/api/faxMessage/faxMessage.events.js         |    2 +-
 server/api/faxMessage/faxMessage.model.js          |    2 +-
 server/api/faxMessage/faxMessage.rpc.js            |    2 +-
 server/api/faxMessage/faxMessage.socket.js         |    2 +-
 server/api/faxMessage/index.js                     |    2 +-
 server/api/faxQueue/faxQueue.attributes.js         |    2 +-
 server/api/faxQueue/faxQueue.controller.js         |    2 +-
 server/api/faxQueue/faxQueue.events.js             |    2 +-
 server/api/faxQueue/faxQueue.model.js              |    2 +-
 server/api/faxQueue/faxQueue.rpc.js                |    2 +-
 server/api/faxQueue/faxQueue.socket.js             |    2 +-
 server/api/faxQueue/index.js                       |    2 +-
 .../faxQueueReport/faxQueueReport.attributes.js    |    2 +-
 .../faxQueueReport/faxQueueReport.controller.js    |    2 +-
 server/api/faxQueueReport/faxQueueReport.model.js  |    2 +-
 server/api/faxQueueReport/faxQueueReport.rpc.js    |    2 +-
 server/api/faxQueueReport/index.js                 |    2 +-
 .../faxTransferReport.attributes.js                |    2 +-
 .../faxTransferReport.controller.js                |    2 +-
 .../faxTransferReport/faxTransferReport.model.js   |    2 +-
 .../api/faxTransferReport/faxTransferReport.rpc.js |    2 +-
 server/api/faxTransferReport/index.js              |    2 +-
 server/api/intDeskAccount/index.js                 |    2 +-
 .../intDeskAccount/intDeskAccount.attributes.js    |    2 +-
 .../intDeskAccount/intDeskAccount.controller.js    |    2 +-
 server/api/intDeskAccount/intDeskAccount.model.js  |    2 +-
 server/api/intDeskAccount/intDeskAccount.rpc.js    |    2 +-
 server/api/intDeskConfiguration/index.js           |    2 +-
 .../intDeskConfiguration.attributes.js             |    2 +-
 .../intDeskConfiguration.controller.js             |    2 +-
 .../intDeskConfiguration.model.js                  |    2 +-
 .../intDeskConfiguration.rpc.js                    |    2 +-
 server/api/intDeskField/index.js                   |    2 +-
 server/api/intDeskField/intDeskField.attributes.js |    2 +-
 server/api/intDeskField/intDeskField.controller.js |    2 +-
 server/api/intDeskField/intDeskField.model.js      |    2 +-
 server/api/intDeskField/intDeskField.rpc.js        |    2 +-
 server/api/intDynamics365Account/index.js          |    2 +-
 .../intDynamics365Account.attributes.js            |    2 +-
 .../intDynamics365Account.controller.js            |    2 +-
 .../intDynamics365Account.model.js                 |    2 +-
 .../intDynamics365Account.rpc.js                   |    2 +-
 server/api/intDynamics365Configuration/index.js    |    2 +-
 .../intDynamics365Configuration.attributes.js      |    2 +-
 .../intDynamics365Configuration.controller.js      |    2 +-
 .../intDynamics365Configuration.model.js           |    2 +-
 .../intDynamics365Configuration.rpc.js             |    2 +-
 server/api/intDynamics365Field/index.js            |    2 +-
 .../intDynamics365Field.attributes.js              |    2 +-
 .../intDynamics365Field.controller.js              |    2 +-
 .../intDynamics365Field.model.js                   |    2 +-
 .../intDynamics365Field/intDynamics365Field.rpc.js |    2 +-
 server/api/intFreshdeskAccount/index.js            |    2 +-
 .../intFreshdeskAccount.attributes.js              |    2 +-
 .../intFreshdeskAccount.controller.js              |    2 +-
 .../intFreshdeskAccount.model.js                   |    2 +-
 .../intFreshdeskAccount/intFreshdeskAccount.rpc.js |    2 +-
 server/api/intFreshdeskConfiguration/index.js      |    2 +-
 .../intFreshdeskConfiguration.attributes.js        |    2 +-
 .../intFreshdeskConfiguration.controller.js        |    2 +-
 .../intFreshdeskConfiguration.model.js             |    2 +-
 .../intFreshdeskConfiguration.rpc.js               |    2 +-
 server/api/intFreshdeskField/index.js              |    2 +-
 .../intFreshdeskField.attributes.js                |    2 +-
 .../intFreshdeskField.controller.js                |    2 +-
 .../intFreshdeskField/intFreshdeskField.model.js   |    2 +-
 .../api/intFreshdeskField/intFreshdeskField.rpc.js |    2 +-
 server/api/intSalesforceAccount/index.js           |    2 +-
 .../intSalesforceAccount.attributes.js             |    2 +-
 .../intSalesforceAccount.controller.js             |    2 +-
 .../intSalesforceAccount.model.js                  |    2 +-
 .../intSalesforceAccount.rpc.js                    |    2 +-
 server/api/intSalesforceConfiguration/index.js     |    2 +-
 .../intSalesforceConfiguration.attributes.js       |    2 +-
 .../intSalesforceConfiguration.controller.js       |    2 +-
 .../intSalesforceConfiguration.model.js            |    2 +-
 .../intSalesforceConfiguration.rpc.js              |    2 +-
 server/api/intSalesforceField/index.js             |    2 +-
 .../intSalesforceField.attributes.js               |    2 +-
 .../intSalesforceField.controller.js               |    2 +-
 .../intSalesforceField/intSalesforceField.model.js |    2 +-
 .../intSalesforceField/intSalesforceField.rpc.js   |    2 +-
 server/api/intServicenowAccount/index.js           |    2 +-
 .../intServicenowAccount.attributes.js             |    2 +-
 .../intServicenowAccount.controller.js             |    2 +-
 .../intServicenowAccount.model.js                  |    2 +-
 .../intServicenowAccount.rpc.js                    |    2 +-
 server/api/intServicenowConfiguration/index.js     |    2 +-
 .../intServicenowConfiguration.attributes.js       |    2 +-
 .../intServicenowConfiguration.controller.js       |    2 +-
 .../intServicenowConfiguration.model.js            |    2 +-
 .../intServicenowConfiguration.rpc.js              |    2 +-
 server/api/intServicenowField/index.js             |    2 +-
 .../intServicenowField.attributes.js               |    2 +-
 .../intServicenowField.controller.js               |    2 +-
 .../intServicenowField/intServicenowField.model.js |    2 +-
 .../intServicenowField/intServicenowField.rpc.js   |    2 +-
 server/api/intSugarcrmAccount/index.js             |    2 +-
 .../intSugarcrmAccount.attributes.js               |    2 +-
 .../intSugarcrmAccount.controller.js               |    2 +-
 .../intSugarcrmAccount/intSugarcrmAccount.model.js |    2 +-
 .../intSugarcrmAccount/intSugarcrmAccount.rpc.js   |    2 +-
 server/api/intSugarcrmConfiguration/index.js       |    2 +-
 .../intSugarcrmConfiguration.attributes.js         |    2 +-
 .../intSugarcrmConfiguration.controller.js         |    2 +-
 .../intSugarcrmConfiguration.model.js              |    2 +-
 .../intSugarcrmConfiguration.rpc.js                |    2 +-
 server/api/intSugarcrmField/index.js               |    2 +-
 .../intSugarcrmField.attributes.js                 |    2 +-
 .../intSugarcrmField.controller.js                 |    2 +-
 .../api/intSugarcrmField/intSugarcrmField.model.js |    2 +-
 .../api/intSugarcrmField/intSugarcrmField.rpc.js   |    2 +-
 server/api/intVtigerAccount/index.js               |    2 +-
 .../intVtigerAccount.attributes.js                 |    2 +-
 .../intVtigerAccount.controller.js                 |    2 +-
 .../api/intVtigerAccount/intVtigerAccount.model.js |    2 +-
 .../api/intVtigerAccount/intVtigerAccount.rpc.js   |    2 +-
 server/api/intVtigerConfiguration/index.js         |    2 +-
 .../intVtigerConfiguration.attributes.js           |    2 +-
 .../intVtigerConfiguration.controller.js           |    2 +-
 .../intVtigerConfiguration.model.js                |    2 +-
 .../intVtigerConfiguration.rpc.js                  |    2 +-
 server/api/intVtigerField/index.js                 |    2 +-
 .../intVtigerField/intVtigerField.attributes.js    |    2 +-
 .../intVtigerField/intVtigerField.controller.js    |    2 +-
 server/api/intVtigerField/intVtigerField.model.js  |    2 +-
 server/api/intVtigerField/intVtigerField.rpc.js    |    2 +-
 server/api/intZendeskAccount/index.js              |    2 +-
 .../intZendeskAccount.attributes.js                |    2 +-
 .../intZendeskAccount.controller.js                |    2 +-
 .../intZendeskAccount/intZendeskAccount.model.js   |    2 +-
 .../api/intZendeskAccount/intZendeskAccount.rpc.js |    2 +-
 server/api/intZendeskConfiguration/index.js        |    2 +-
 .../intZendeskConfiguration.attributes.js          |    2 +-
 .../intZendeskConfiguration.controller.js          |    2 +-
 .../intZendeskConfiguration.model.js               |    2 +-
 .../intZendeskConfiguration.rpc.js                 |    2 +-
 server/api/intZendeskField/index.js                |    2 +-
 .../intZendeskField/intZendeskField.attributes.js  |    2 +-
 .../intZendeskField/intZendeskField.controller.js  |    2 +-
 .../api/intZendeskField/intZendeskField.model.js   |    2 +-
 server/api/intZendeskField/intZendeskField.rpc.js  |    2 +-
 server/api/intZohoAccount/index.js                 |    2 +-
 .../intZohoAccount/intZohoAccount.attributes.js    |    2 +-
 .../intZohoAccount/intZohoAccount.controller.js    |    2 +-
 server/api/intZohoAccount/intZohoAccount.model.js  |    2 +-
 server/api/intZohoAccount/intZohoAccount.rpc.js    |    2 +-
 server/api/intZohoConfiguration/index.js           |    2 +-
 .../intZohoConfiguration.attributes.js             |    2 +-
 .../intZohoConfiguration.controller.js             |    2 +-
 .../intZohoConfiguration.model.js                  |    2 +-
 .../intZohoConfiguration.rpc.js                    |    2 +-
 server/api/intZohoField/index.js                   |    2 +-
 server/api/intZohoField/intZohoField.attributes.js |    2 +-
 server/api/intZohoField/intZohoField.controller.js |    2 +-
 server/api/intZohoField/intZohoField.model.js      |    2 +-
 server/api/intZohoField/intZohoField.rpc.js        |    2 +-
 server/api/integration/index.js                    |    2 +-
 server/api/integration/integration.attributes.js   |    2 +-
 server/api/integration/integration.controller.js   |    2 +-
 server/api/integration/integration.model.js        |    2 +-
 server/api/integration/integration.rpc.js          |    2 +-
 server/api/integrationReport/index.js              |    2 +-
 .../integrationReport.attributes.js                |    2 +-
 .../integrationReport.controller.js                |    2 +-
 .../integrationReport/integrationReport.model.js   |    2 +-
 .../api/integrationReport/integrationReport.rpc.js |    2 +-
 server/api/interval/index.js                       |    2 +-
 server/api/interval/interval.attributes.js         |    2 +-
 server/api/interval/interval.controller.js         |    2 +-
 server/api/interval/interval.model.js              |    2 +-
 server/api/interval/interval.rpc.js                |    2 +-
 server/api/jira/index.js                           |    2 +-
 server/api/jira/jira.controller.js                 |    2 +-
 server/api/jscriptyAnswerReport/index.js           |    2 +-
 .../jscriptyAnswerReport.attributes.js             |    2 +-
 .../jscriptyAnswerReport.controller.js             |    2 +-
 .../jscriptyAnswerReport.model.js                  |    2 +-
 .../jscriptyAnswerReport.rpc.js                    |    2 +-
 server/api/jscriptyProject/index.js                |    2 +-
 .../jscriptyProject/jscriptyProject.attributes.js  |    2 +-
 .../jscriptyProject/jscriptyProject.controller.js  |    2 +-
 .../api/jscriptyProject/jscriptyProject.model.js   |    2 +-
 server/api/jscriptyProject/jscriptyProject.rpc.js  |    2 +-
 server/api/jscriptyQuestionReport/index.js         |    2 +-
 .../jscriptyQuestionReport.attributes.js           |    2 +-
 .../jscriptyQuestionReport.controller.js           |    2 +-
 .../jscriptyQuestionReport.model.js                |    2 +-
 .../jscriptyQuestionReport.rpc.js                  |    2 +-
 server/api/jscriptySessionReport/index.js          |    2 +-
 .../jscriptySessionReport.attributes.js            |    2 +-
 .../jscriptySessionReport.controller.js            |    2 +-
 .../jscriptySessionReport.model.js                 |    2 +-
 .../jscriptySessionReport.rpc.js                   |    2 +-
 server/api/license/index.js                        |    2 +-
 server/api/license/license.attributes.js           |    2 +-
 server/api/license/license.controller.js           |    2 +-
 server/api/license/license.model.js                |    2 +-
 server/api/license/license.rpc.js                  |    2 +-
 server/api/mailAccount/index.js                    |    2 +-
 server/api/mailAccount/mailAccount.attributes.js   |    2 +-
 server/api/mailAccount/mailAccount.controller.js   |    2 +-
 server/api/mailAccount/mailAccount.events.js       |    2 +-
 server/api/mailAccount/mailAccount.model.js        |    2 +-
 server/api/mailAccount/mailAccount.rpc.js          |    2 +-
 server/api/mailAccount/mailAccount.socket.js       |    2 +-
 server/api/mailApplication/index.js                |    2 +-
 .../mailApplication/mailApplication.attributes.js  |    2 +-
 .../mailApplication/mailApplication.controller.js  |    2 +-
 .../api/mailApplication/mailApplication.model.js   |    2 +-
 server/api/mailApplication/mailApplication.rpc.js  |    2 +-
 server/api/mailInteraction/index.js                |    2 +-
 .../mailInteraction/mailInteraction.attributes.js  |    2 +-
 .../mailInteraction/mailInteraction.controller.js  |    2 +-
 .../api/mailInteraction/mailInteraction.events.js  |    2 +-
 .../api/mailInteraction/mailInteraction.model.js   |    2 +-
 server/api/mailInteraction/mailInteraction.rpc.js  |    2 +-
 .../api/mailInteraction/mailInteraction.socket.js  |    2 +-
 server/api/mailMessage/index.js                    |    2 +-
 server/api/mailMessage/mailMessage.attributes.js   |    2 +-
 server/api/mailMessage/mailMessage.controller.js   |    2 +-
 server/api/mailMessage/mailMessage.events.js       |    2 +-
 server/api/mailMessage/mailMessage.model.js        |    2 +-
 server/api/mailMessage/mailMessage.rpc.js          |    2 +-
 server/api/mailMessage/mailMessage.socket.js       |    2 +-
 server/api/mailQueue/index.js                      |    2 +-
 server/api/mailQueue/mailQueue.attributes.js       |    2 +-
 server/api/mailQueue/mailQueue.controller.js       |    2 +-
 server/api/mailQueue/mailQueue.events.js           |    2 +-
 server/api/mailQueue/mailQueue.model.js            |    2 +-
 server/api/mailQueue/mailQueue.rpc.js              |    2 +-
 server/api/mailQueue/mailQueue.socket.js           |    2 +-
 server/api/mailQueueReport/index.js                |    2 +-
 .../mailQueueReport/mailQueueReport.attributes.js  |    2 +-
 .../mailQueueReport/mailQueueReport.controller.js  |    2 +-
 .../api/mailQueueReport/mailQueueReport.model.js   |    2 +-
 server/api/mailQueueReport/mailQueueReport.rpc.js  |    2 +-
 server/api/mailServerIn/index.js                   |    2 +-
 server/api/mailServerIn/mailServerIn.attributes.js |    2 +-
 server/api/mailServerIn/mailServerIn.model.js      |    2 +-
 server/api/mailServerIn/mailServerIn.rpc.js        |    2 +-
 server/api/mailServerOut/index.js                  |    2 +-
 .../api/mailServerOut/mailServerOut.attributes.js  |    2 +-
 .../api/mailServerOut/mailServerOut.controller.js  |    2 +-
 server/api/mailServerOut/mailServerOut.model.js    |    2 +-
 server/api/mailServerOut/mailServerOut.rpc.js      |    2 +-
 server/api/mailSubstatus/index.js                  |    2 +-
 .../api/mailSubstatus/mailSubstatus.attributes.js  |    2 +-
 .../api/mailSubstatus/mailSubstatus.controller.js  |    2 +-
 server/api/mailSubstatus/mailSubstatus.model.js    |    2 +-
 server/api/mailSubstatus/mailSubstatus.rpc.js      |    2 +-
 server/api/mailTransferReport/index.js             |    2 +-
 .../mailTransferReport.attributes.js               |    2 +-
 .../mailTransferReport.controller.js               |    2 +-
 .../mailTransferReport/mailTransferReport.model.js |    2 +-
 .../mailTransferReport/mailTransferReport.rpc.js   |    2 +-
 server/api/memberReport/index.js                   |    2 +-
 server/api/memberReport/memberReport.attributes.js |    2 +-
 server/api/memberReport/memberReport.controller.js |    2 +-
 server/api/memberReport/memberReport.model.js      |    2 +-
 server/api/memberReport/memberReport.rpc.js        |    2 +-
 server/api/migration/index.js                      |    2 +-
 server/api/migration/migration.attributes.js       |    2 +-
 server/api/migration/migration.controller.js       |    2 +-
 server/api/migration/migration.model.js            |    2 +-
 server/api/migration/migration.rpc.js              |    2 +-
 server/api/network/index.js                        |    2 +-
 server/api/network/network.attributes.js           |    2 +-
 server/api/network/network.controller.js           |    2 +-
 server/api/network/network.model.js                |    2 +-
 server/api/network/network.rpc.js                  |    2 +-
 server/api/openchannelAccount/index.js             |    2 +-
 .../openchannelAccount.attributes.js               |    2 +-
 .../openchannelAccount.controller.js               |    2 +-
 .../openchannelAccount.events.js                   |    2 +-
 .../openchannelAccount/openchannelAccount.model.js |    2 +-
 .../openchannelAccount/openchannelAccount.rpc.js   |    2 +-
 .../openchannelAccount.socket.js                   |    2 +-
 server/api/openchannelApplication/index.js         |    2 +-
 .../openchannelApplication.attributes.js           |    2 +-
 .../openchannelApplication.controller.js           |    2 +-
 .../openchannelApplication.model.js                |    2 +-
 .../openchannelApplication.rpc.js                  |    2 +-
 server/api/openchannelInteraction/index.js         |    2 +-
 .../openchannelInteraction.attributes.js           |    2 +-
 .../openchannelInteraction.controller.js           |    2 +-
 .../openchannelInteraction.events.js               |    2 +-
 .../openchannelInteraction.model.js                |    2 +-
 .../openchannelInteraction.rpc.js                  |    2 +-
 .../openchannelInteraction.socket.js               |    2 +-
 server/api/openchannelMessage/index.js             |    2 +-
 .../openchannelMessage.attributes.js               |    2 +-
 .../openchannelMessage.controller.js               |    2 +-
 .../openchannelMessage.events.js                   |    2 +-
 .../openchannelMessage/openchannelMessage.model.js |    2 +-
 .../openchannelMessage/openchannelMessage.rpc.js   |    2 +-
 .../openchannelMessage.socket.js                   |    2 +-
 server/api/openchannelQueue/index.js               |    2 +-
 .../openchannelQueue.attributes.js                 |    2 +-
 .../openchannelQueue.controller.js                 |    2 +-
 .../openchannelQueue/openchannelQueue.events.js    |    2 +-
 .../api/openchannelQueue/openchannelQueue.model.js |    2 +-
 .../api/openchannelQueue/openchannelQueue.rpc.js   |    2 +-
 .../openchannelQueue/openchannelQueue.socket.js    |    2 +-
 server/api/openchannelQueueReport/index.js         |    2 +-
 .../openchannelQueueReport.attributes.js           |    2 +-
 .../openchannelQueueReport.controller.js           |    2 +-
 .../openchannelQueueReport.model.js                |    2 +-
 .../openchannelQueueReport.rpc.js                  |    2 +-
 server/api/openchannelTransferReport/index.js      |    2 +-
 .../openchannelTransferReport.attributes.js        |    2 +-
 .../openchannelTransferReport.controller.js        |    2 +-
 .../openchannelTransferReport.model.js             |    2 +-
 .../openchannelTransferReport.rpc.js               |    2 +-
 server/api/pause/index.js                          |    2 +-
 server/api/pause/pause.attributes.js               |    2 +-
 server/api/pause/pause.controller.js               |    2 +-
 server/api/pause/pause.model.js                    |    2 +-
 server/api/pause/pause.rpc.js                      |    2 +-
 server/api/plugin/index.js                         |    2 +-
 server/api/plugin/plugin.attributes.js             |    2 +-
 server/api/plugin/plugin.controller.js             |    2 +-
 server/api/plugin/plugin.events.js                 |    2 +-
 server/api/plugin/plugin.model.js                  |    2 +-
 server/api/plugin/plugin.rpc.js                    |    2 +-
 server/api/plugin/plugin.socket.js                 |    2 +-
 server/api/pm2/index.js                            |    2 +-
 server/api/pm2/pm2.controller.js                   |    2 +-
 server/api/reportAgentPreview/index.js             |    2 +-
 .../reportAgentPreview.attributes.js               |    2 +-
 .../reportAgentPreview/reportAgentPreview.model.js |    2 +-
 .../reportAgentPreview/reportAgentPreview.rpc.js   |    2 +-
 server/api/rpc/index.js                            |    2 +-
 server/api/rpc/rpc.controller.js                   |    2 +-
 server/api/schedule/index.js                       |    2 +-
 server/api/schedule/schedule.attributes.js         |    2 +-
 server/api/schedule/schedule.controller.js         |    2 +-
 server/api/schedule/schedule.model.js              |    2 +-
 server/api/schedule/schedule.rpc.js                |    2 +-
 server/api/screenRecording/index.js                |    2 +-
 .../screenRecording/screenRecording.attributes.js  |    2 +-
 .../screenRecording/screenRecording.controller.js  |    2 +-
 .../api/screenRecording/screenRecording.model.js   |    2 +-
 server/api/screenRecording/screenRecording.rpc.js  |    2 +-
 server/api/setting/index.js                        |    2 +-
 server/api/setting/setting.attributes.js           |    2 +-
 server/api/setting/setting.controller.js           |    2 +-
 server/api/setting/setting.model.js                |    2 +-
 server/api/setting/setting.rpc.js                  |    2 +-
 server/api/smsAccount/index.js                     |    2 +-
 server/api/smsAccount/smsAccount.attributes.js     |    2 +-
 server/api/smsAccount/smsAccount.controller.js     |    2 +-
 server/api/smsAccount/smsAccount.events.js         |    2 +-
 server/api/smsAccount/smsAccount.model.js          |    2 +-
 server/api/smsAccount/smsAccount.rpc.js            |    2 +-
 server/api/smsAccount/smsAccount.socket.js         |    2 +-
 server/api/smsApplication/index.js                 |    2 +-
 .../smsApplication/smsApplication.attributes.js    |    2 +-
 .../smsApplication/smsApplication.controller.js    |    2 +-
 server/api/smsApplication/smsApplication.model.js  |    2 +-
 server/api/smsApplication/smsApplication.rpc.js    |    2 +-
 server/api/smsInteraction/index.js                 |    2 +-
 .../smsInteraction/smsInteraction.attributes.js    |    2 +-
 .../smsInteraction/smsInteraction.controller.js    |    2 +-
 server/api/smsInteraction/smsInteraction.events.js |    2 +-
 server/api/smsInteraction/smsInteraction.model.js  |    2 +-
 server/api/smsInteraction/smsInteraction.rpc.js    |    2 +-
 server/api/smsInteraction/smsInteraction.socket.js |    2 +-
 server/api/smsMessage/index.js                     |    2 +-
 server/api/smsMessage/smsMessage.attributes.js     |    2 +-
 server/api/smsMessage/smsMessage.controller.js     |    2 +-
 server/api/smsMessage/smsMessage.events.js         |    2 +-
 server/api/smsMessage/smsMessage.model.js          |    2 +-
 server/api/smsMessage/smsMessage.rpc.js            |    2 +-
 server/api/smsMessage/smsMessage.socket.js         |    2 +-
 server/api/smsQueue/index.js                       |    2 +-
 server/api/smsQueue/smsQueue.attributes.js         |    2 +-
 server/api/smsQueue/smsQueue.controller.js         |    2 +-
 server/api/smsQueue/smsQueue.events.js             |    2 +-
 server/api/smsQueue/smsQueue.model.js              |    2 +-
 server/api/smsQueue/smsQueue.rpc.js                |    2 +-
 server/api/smsQueue/smsQueue.socket.js             |    2 +-
 server/api/smsQueueReport/index.js                 |    2 +-
 .../smsQueueReport/smsQueueReport.attributes.js    |    2 +-
 .../smsQueueReport/smsQueueReport.controller.js    |    2 +-
 server/api/smsQueueReport/smsQueueReport.model.js  |    2 +-
 server/api/smsQueueReport/smsQueueReport.rpc.js    |    2 +-
 server/api/smsTransferReport/index.js              |    2 +-
 .../smsTransferReport.attributes.js                |    2 +-
 .../smsTransferReport.controller.js                |    2 +-
 .../smsTransferReport/smsTransferReport.model.js   |    2 +-
 .../api/smsTransferReport/smsTransferReport.rpc.js |    2 +-
 server/api/sound/index.js                          |    2 +-
 server/api/sound/sound.attributes.js               |    2 +-
 server/api/sound/sound.controller.js               |    2 +-
 server/api/sound/sound.model.js                    |    2 +-
 server/api/sound/sound.rpc.js                      |    2 +-
 server/api/squareMessage/index.js                  |    2 +-
 .../api/squareMessage/squareMessage.attributes.js  |    2 +-
 .../api/squareMessage/squareMessage.controller.js  |    2 +-
 server/api/squareMessage/squareMessage.model.js    |    2 +-
 server/api/squareMessage/squareMessage.rpc.js      |    2 +-
 server/api/squareOdbc/index.js                     |    2 +-
 server/api/squareOdbc/squareOdbc.attributes.js     |    2 +-
 server/api/squareOdbc/squareOdbc.controller.js     |    2 +-
 server/api/squareOdbc/squareOdbc.model.js          |    2 +-
 server/api/squareOdbc/squareOdbc.rpc.js            |    2 +-
 server/api/squareProject/index.js                  |    2 +-
 .../api/squareProject/squareProject.attributes.js  |    2 +-
 .../api/squareProject/squareProject.controller.js  |    2 +-
 server/api/squareProject/squareProject.events.js   |    2 +-
 server/api/squareProject/squareProject.model.js    |    2 +-
 server/api/squareProject/squareProject.rpc.js      |    2 +-
 server/api/squareProject/squareProject.socket.js   |    2 +-
 server/api/squareRecording/index.js                |    2 +-
 .../squareRecording/squareRecording.attributes.js  |    2 +-
 .../squareRecording/squareRecording.controller.js  |    2 +-
 .../api/squareRecording/squareRecording.model.js   |    2 +-
 server/api/squareRecording/squareRecording.rpc.js  |    2 +-
 server/api/squareReport/index.js                   |    2 +-
 server/api/squareReport/squareReport.attributes.js |    2 +-
 server/api/squareReport/squareReport.controller.js |    2 +-
 server/api/squareReport/squareReport.model.js      |    2 +-
 server/api/squareReport/squareReport.rpc.js        |    2 +-
 server/api/squareReportDetail/index.js             |    2 +-
 .../squareReportDetail.attributes.js               |    2 +-
 .../squareReportDetail.controller.js               |    2 +-
 .../squareReportDetail/squareReportDetail.model.js |    2 +-
 .../squareReportDetail/squareReportDetail.rpc.js   |    2 +-
 server/api/system/index.js                         |    2 +-
 server/api/system/system.controller.js             |    2 +-
 server/api/tag/index.js                            |    2 +-
 server/api/tag/tag.attributes.js                   |    2 +-
 server/api/tag/tag.controller.js                   |    2 +-
 server/api/tag/tag.model.js                        |    2 +-
 server/api/tag/tag.rpc.js                          |    2 +-
 server/api/team/index.js                           |    2 +-
 server/api/team/team.attributes.js                 |    2 +-
 server/api/team/team.controller.js                 |    2 +-
 server/api/team/team.events.js                     |    2 +-
 server/api/team/team.model.js                      |    2 +-
 server/api/team/team.rpc.js                        |    2 +-
 server/api/team/team.socket.js                     |    2 +-
 server/api/template/index.js                       |    2 +-
 server/api/template/template.attributes.js         |    2 +-
 server/api/template/template.controller.js         |    2 +-
 server/api/template/template.model.js              |    2 +-
 server/api/template/template.rpc.js                |    2 +-
 server/api/trigger/index.js                        |    2 +-
 server/api/trigger/trigger.attributes.js           |    2 +-
 server/api/trigger/trigger.controller.js           |    2 +-
 server/api/trigger/trigger.model.js                |    2 +-
 server/api/trigger/trigger.rpc.js                  |    2 +-
 server/api/trunk/index.js                          |    2 +-
 server/api/trunk/trunk.attributes.js               |    2 +-
 server/api/trunk/trunk.controller.js               |    2 +-
 server/api/trunk/trunk.model.js                    |    2 +-
 server/api/trunk/trunk.rpc.js                      |    2 +-
 server/api/user/index.js                           |    2 +-
 server/api/user/user.attributes.js                 |    2 +-
 server/api/user/user.controller.js                 |    2 +-
 server/api/user/user.events.js                     |    2 +-
 server/api/user/user.model.js                      |    2 +-
 server/api/user/user.rpc.js                        |    2 +-
 server/api/user/user.socket.js                     |    2 +-
 server/api/userChatQueue/index.js                  |    2 +-
 .../api/userChatQueue/userChatQueue.attributes.js  |    2 +-
 server/api/userChatQueue/userChatQueue.model.js    |    2 +-
 server/api/userChatQueue/userChatQueue.rpc.js      |    2 +-
 server/api/userFaxQueue/index.js                   |    2 +-
 server/api/userFaxQueue/userFaxQueue.attributes.js |    2 +-
 server/api/userFaxQueue/userFaxQueue.model.js      |    2 +-
 server/api/userFaxQueue/userFaxQueue.rpc.js        |    2 +-
 server/api/userMailQueue/index.js                  |    2 +-
 .../api/userMailQueue/userMailQueue.attributes.js  |    2 +-
 server/api/userMailQueue/userMailQueue.model.js    |    2 +-
 server/api/userMailQueue/userMailQueue.rpc.js      |    2 +-
 server/api/userOpenchannelQueue/index.js           |    2 +-
 .../userOpenchannelQueue.attributes.js             |    2 +-
 .../userOpenchannelQueue.model.js                  |    2 +-
 .../userOpenchannelQueue.rpc.js                    |    2 +-
 server/api/userProfile/index.js                    |    2 +-
 server/api/userProfile/userProfile.attributes.js   |    2 +-
 server/api/userProfile/userProfile.controller.js   |    2 +-
 server/api/userProfile/userProfile.events.js       |    2 +-
 server/api/userProfile/userProfile.model.js        |    2 +-
 server/api/userProfile/userProfile.rpc.js          |    2 +-
 server/api/userProfile/userProfile.socket.js       |    2 +-
 server/api/userProfileResource/index.js            |    2 +-
 .../userProfileResource.attributes.js              |    2 +-
 .../userProfileResource.controller.js              |    2 +-
 .../userProfileResource.model.js                   |    2 +-
 .../userProfileResource/userProfileResource.rpc.js |    2 +-
 server/api/userProfileSection/index.js             |    2 +-
 .../userProfileSection.attributes.js               |    2 +-
 .../userProfileSection.controller.js               |    2 +-
 .../userProfileSection/userProfileSection.model.js |    2 +-
 .../userProfileSection/userProfileSection.rpc.js   |    2 +-
 server/api/userSmsQueue/index.js                   |    2 +-
 server/api/userSmsQueue/userSmsQueue.attributes.js |    2 +-
 server/api/userSmsQueue/userSmsQueue.model.js      |    2 +-
 server/api/userSmsQueue/userSmsQueue.rpc.js        |    2 +-
 server/api/userVoiceQueue/index.js                 |    2 +-
 .../userVoiceQueue/userVoiceQueue.attributes.js    |    2 +-
 server/api/userVoiceQueue/userVoiceQueue.model.js  |    2 +-
 server/api/userVoiceQueue/userVoiceQueue.rpc.js    |    2 +-
 server/api/userVoiceQueueRt/index.js               |    2 +-
 .../userVoiceQueueRt.attributes.js                 |    2 +-
 .../userVoiceQueueRt/userVoiceQueueRt.events.js    |    2 +-
 .../api/userVoiceQueueRt/userVoiceQueueRt.model.js |    2 +-
 .../api/userVoiceQueueRt/userVoiceQueueRt.rpc.js   |    2 +-
 .../userVoiceQueueRt/userVoiceQueueRt.socket.js    |    2 +-
 server/api/variable/index.js                       |    2 +-
 server/api/variable/variable.attributes.js         |    2 +-
 server/api/variable/variable.controller.js         |    2 +-
 server/api/variable/variable.model.js              |    2 +-
 server/api/variable/variable.rpc.js                |    2 +-
 server/api/version/index.js                        |    2 +-
 server/api/version/version.controller.js           |    2 +-
 server/api/voiceAgentReport/index.js               |    2 +-
 .../voiceAgentReport.attributes.js                 |    2 +-
 .../voiceAgentReport.controller.js                 |    2 +-
 .../api/voiceAgentReport/voiceAgentReport.model.js |    2 +-
 .../api/voiceAgentReport/voiceAgentReport.rpc.js   |    2 +-
 server/api/voiceCallReport/index.js                |    2 +-
 .../voiceCallReport/voiceCallReport.attributes.js  |    2 +-
 .../voiceCallReport/voiceCallReport.controller.js  |    2 +-
 .../api/voiceCallReport/voiceCallReport.model.js   |    2 +-
 server/api/voiceCallReport/voiceCallReport.rpc.js  |    2 +-
 server/api/voiceChanSpy/index.js                   |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.attributes.js |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.controller.js |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.model.js      |    2 +-
 server/api/voiceChanSpy/voiceChanSpy.rpc.js        |    2 +-
 server/api/voiceContext/index.js                   |    2 +-
 server/api/voiceContext/voiceContext.attributes.js |    2 +-
 server/api/voiceContext/voiceContext.controller.js |    2 +-
 server/api/voiceContext/voiceContext.model.js      |    2 +-
 server/api/voiceContext/voiceContext.rpc.js        |    2 +-
 server/api/voiceDialReport/index.js                |    2 +-
 .../voiceDialReport/voiceDialReport.attributes.js  |    2 +-
 .../voiceDialReport/voiceDialReport.controller.js  |    2 +-
 .../api/voiceDialReport/voiceDialReport.model.js   |    2 +-
 server/api/voiceDialReport/voiceDialReport.rpc.js  |    2 +-
 server/api/voiceExtension/index.js                 |    2 +-
 .../voiceExtension/voiceExtension.attributes.js    |    2 +-
 .../voiceExtension/voiceExtension.controller.js    |    2 +-
 server/api/voiceExtension/voiceExtension.events.js |    2 +-
 server/api/voiceExtension/voiceExtension.model.js  |    2 +-
 server/api/voiceExtension/voiceExtension.rpc.js    |    2 +-
 server/api/voiceExtension/voiceExtension.socket.js |    2 +-
 server/api/voiceMail/index.js                      |    2 +-
 server/api/voiceMail/voiceMail.attributes.js       |    2 +-
 server/api/voiceMail/voiceMail.controller.js       |    2 +-
 server/api/voiceMail/voiceMail.model.js            |    2 +-
 server/api/voiceMail/voiceMail.rpc.js              |    2 +-
 server/api/voiceMailMessage/index.js               |    2 +-
 .../voiceMailMessage.attributes.js                 |    2 +-
 .../voiceMailMessage.controller.js                 |    2 +-
 .../api/voiceMailMessage/voiceMailMessage.model.js |    2 +-
 .../api/voiceMailMessage/voiceMailMessage.rpc.js   |    2 +-
 server/api/voiceMusicOnHold/index.js               |    2 +-
 .../voiceMusicOnHold.attributes.js                 |    2 +-
 .../voiceMusicOnHold.controller.js                 |    2 +-
 .../api/voiceMusicOnHold/voiceMusicOnHold.model.js |    2 +-
 .../api/voiceMusicOnHold/voiceMusicOnHold.rpc.js   |    2 +-
 server/api/voicePrefix/index.js                    |    2 +-
 server/api/voicePrefix/voicePrefix.attributes.js   |    2 +-
 server/api/voicePrefix/voicePrefix.controller.js   |    2 +-
 server/api/voicePrefix/voicePrefix.events.js       |    2 +-
 server/api/voicePrefix/voicePrefix.model.js        |    2 +-
 server/api/voicePrefix/voicePrefix.rpc.js          |    2 +-
 server/api/voicePrefix/voicePrefix.socket.js       |    2 +-
 server/api/voiceQueue/index.js                     |    2 +-
 server/api/voiceQueue/voiceQueue.attributes.js     |    2 +-
 server/api/voiceQueue/voiceQueue.controller.js     |    2 +-
 server/api/voiceQueue/voiceQueue.events.js         |    2 +-
 server/api/voiceQueue/voiceQueue.model.js          |    2 +-
 server/api/voiceQueue/voiceQueue.rpc.js            |    2 +-
 server/api/voiceQueue/voiceQueue.socket.js         |    2 +-
 server/api/voiceQueueReport/index.js               |    2 +-
 .../voiceQueueReport.attributes.js                 |    2 +-
 .../voiceQueueReport.controller.js                 |    2 +-
 .../voiceQueueReport/voiceQueueReport.events.js    |    2 +-
 .../api/voiceQueueReport/voiceQueueReport.model.js |    2 +-
 .../api/voiceQueueReport/voiceQueueReport.rpc.js   |    2 +-
 .../voiceQueueReport/voiceQueueReport.socket.js    |    2 +-
 server/api/voiceQueuesLog/index.js                 |    2 +-
 .../voiceQueuesLog/voiceQueuesLog.attributes.js    |    2 +-
 .../voiceQueuesLog/voiceQueuesLog.controller.js    |    2 +-
 server/api/voiceQueuesLog/voiceQueuesLog.model.js  |    2 +-
 server/api/voiceQueuesLog/voiceQueuesLog.rpc.js    |    2 +-
 server/api/voiceRecording/index.js                 |    2 +-
 .../voiceRecording/voiceRecording.attributes.js    |    2 +-
 .../voiceRecording/voiceRecording.controller.js    |    2 +-
 server/api/voiceRecording/voiceRecording.model.js  |    2 +-
 server/api/voiceRecording/voiceRecording.rpc.js    |    2 +-
 server/api/voiceTransferReport/index.js            |    2 +-
 .../voiceTransferReport.attributes.js              |    2 +-
 .../voiceTransferReport.controller.js              |    2 +-
 .../voiceTransferReport.model.js                   |    2 +-
 .../voiceTransferReport/voiceTransferReport.rpc.js |    2 +-
 server/app.js                                      |    2 +-
 server/components/auth/service.js                  |    2 +-
 server/components/encryptor/index.js               |    2 +-
 server/components/export/csv.js                    |    2 +-
 server/components/export/pdf.js                    |    2 +-
 server/components/export/xlsx.js                   |    2 +-
 server/components/extensions/rewrite.js            |    2 +-
 server/components/import/cm/csv.js                 |    2 +-
 server/components/import/cm/csv2.js                |    2 +-
 server/components/integrations/configuration.js    |    2 +-
 server/components/interaction/service.js           |    2 +-
 server/components/license/service.js               |    2 +-
 server/components/parsers/qs.js                    |    2 +-
 server/config/express.js                           |    2 +-
 server/config/license/hardware.js                  |    2 +-
 server/config/license/index.js                     |    2 +-
 server/config/license/util.js                      |    2 +-
 server/config/local.env.js                         |    2 +-
 server/config/logger.js                            |    2 +-
 server/config/pm2/config.js                        |    2 +-
 server/config/pm2/index.js                         |    2 +-
 server/config/schedule/chat.js                     |    2 +-
 server/config/schedule/index.js                    |    2 +-
 server/config/seedContact.js                       |    2 +-
 server/config/seedUsers.js                         |    2 +-
 server/config/socketio.js                          |    2 +-
 server/config/triggers/index.js                    |    2 +-
 server/config/utils.js                             |    2 +-
 server/errors/index.js                             |    2 +-
 server/files/chat/iframe.js                        |   42 +-
 server/migrations/2.4.5.js                         |  166 ++
 server/mysqldb/index.js                            |    2 +-
 server/routes.js                                   |    2 +-
 server/rpc/index.js                                |    2 +-
 server/services/agi/channel.js                     |    2 +-
 server/services/agi/error.js                       |    2 +-
 server/services/agi/graph/index.js                 |    2 +-
 server/services/agi/index.js                       |    2 +-
 server/services/agi/mailRpc/index.js               |    2 +-
 server/services/agi/reply.js                       |    2 +-
 server/services/agi/rpc/index.js                   |    2 +-
 server/services/agi/scripts/aws/index.js           |    2 +-
 server/services/agi/scripts/aws/lex/index.js       |    2 +-
 server/services/agi/scripts/aws/lex/lib/api.js     |    2 +-
 server/services/agi/scripts/aws/polly/index.js     |    2 +-
 server/services/agi/scripts/aws/polly/lib/api.js   |    2 +-
 server/services/agi/scripts/google/asr/index.js    |    2 +-
 server/services/agi/scripts/google/asr/lib/api.js  |    2 +-
 server/services/agi/scripts/google/index.js        |    2 +-
 server/services/agi/scripts/index.js               |    2 +-
 server/services/agi/scripts/sestek/index.js        |    2 +-
 server/services/agi/scripts/sestek/nda/index.js    |    2 +-
 server/services/agi/scripts/tilde/asr/index.js     |    2 +-
 server/services/agi/scripts/tilde/asr/lib/api.js   |    2 +-
 server/services/agi/scripts/tilde/index.js         |    2 +-
 server/services/agi/server.js                      |    2 +-
 server/services/agi/vertices.js                    |    2 +-
 server/services/ami/acw/index.js                   |    2 +-
 server/services/ami/ami.js                         |    2 +-
 server/services/ami/client.js                      |    2 +-
 server/services/ami/dialer/action.js               |    2 +-
 server/services/ami/dialer/agentComplete.js        |    2 +-
 server/services/ami/dialer/final.js                |    2 +-
 server/services/ami/dialer/hangup.js               |    2 +-
 server/services/ami/dialer/history.js              |    2 +-
 server/services/ami/dialer/index.js                |    2 +-
 server/services/ami/dialer/queueCallerAbandon.js   |    2 +-
 server/services/ami/fax/action.js                  |    2 +-
 server/services/ami/fax/index.js                   |    2 +-
 server/services/ami/fax/rpcDb.js                   |    2 +-
 server/services/ami/fax/util/gs.js                 |    2 +-
 server/services/ami/fax/util/util.js               |    2 +-
 server/services/ami/index.js                       |    2 +-
 server/services/ami/model/agent.js                 |    2 +-
 server/services/ami/model/campaign.js              |    2 +-
 server/services/ami/model/channel.js               |    2 +-
 server/services/ami/model/deskAccount.js           |    2 +-
 server/services/ami/model/dynamics365Account.js    |    2 +-
 server/services/ami/model/faxAccount.js            |    2 +-
 server/services/ami/model/freshdeskAccount.js      |    2 +-
 server/services/ami/model/queueReport.js           |    2 +-
 server/services/ami/model/salesforceAccount.js     |    2 +-
 server/services/ami/model/servicenowAccount.js     |    2 +-
 server/services/ami/model/sugarcrmAccount.js       |    2 +-
 server/services/ami/model/telephone.js             |    2 +-
 server/services/ami/model/template.js              |    2 +-
 server/services/ami/model/trigger.js               |    2 +-
 server/services/ami/model/trunk.js                 |    2 +-
 server/services/ami/model/voiceExtension.js        |    2 +-
 server/services/ami/model/voiceQueue.js            |    2 +-
 server/services/ami/model/vtigerAccount.js         |    2 +-
 server/services/ami/model/zendeskAccount.js        |    2 +-
 server/services/ami/model/zohoAccount.js           |    2 +-
 server/services/ami/preview/action.js              |    2 +-
 server/services/ami/preview/index.js               |    2 +-
 server/services/ami/preview/rpcDb.js               |    2 +-
 server/services/ami/preview/util/util.js           |    2 +-
 server/services/ami/properties.js                  |    2 +-
 server/services/ami/realtime/index.js              |    2 +-
 server/services/ami/report/index.js                |    2 +-
 server/services/ami/report/userReport.js           |    2 +-
 server/services/ami/report/voiceAgentReport.js     |    2 +-
 server/services/ami/report/voiceCallReport.js      |    2 +-
 server/services/ami/report/voiceDialReport.js      |    2 +-
 server/services/ami/report/voiceQueueReport.js     |    2 +-
 server/services/ami/rpc/agentReportPreview.js      |    2 +-
 server/services/ami/rpc/attachment.js              |    2 +-
 server/services/ami/rpc/campaign.js                |    2 +-
 server/services/ami/rpc/cmContact.js               |    2 +-
 server/services/ami/rpc/cmHopper.js                |    2 +-
 server/services/ami/rpc/cmHopperBlack.js           |    2 +-
 server/services/ami/rpc/cmHopperFinal.js           |    2 +-
 server/services/ami/rpc/cmHopperHistory.js         |    2 +-
 server/services/ami/rpc/faxAccount.js              |    2 +-
 server/services/ami/rpc/faxMessage.js              |    2 +-
 server/services/ami/rpc/integrations/desk.js       |    2 +-
 .../services/ami/rpc/integrations/dynamics365.js   |    2 +-
 server/services/ami/rpc/integrations/freshdesk.js  |    2 +-
 server/services/ami/rpc/integrations/salesforce.js |    2 +-
 server/services/ami/rpc/integrations/servicenow.js |    2 +-
 server/services/ami/rpc/integrations/sugarcrm.js   |    2 +-
 server/services/ami/rpc/integrations/vtiger.js     |    2 +-
 server/services/ami/rpc/integrations/zendesk.js    |    2 +-
 server/services/ami/rpc/integrations/zoho.js       |    2 +-
 server/services/ami/rpc/memberReport.js            |    2 +-
 server/services/ami/rpc/template.js                |    2 +-
 server/services/ami/rpc/trigger.js                 |    2 +-
 server/services/ami/rpc/trunk.js                   |    2 +-
 server/services/ami/rpc/user.js                    |    2 +-
 server/services/ami/rpc/voiceAgentReport.js        |    2 +-
 server/services/ami/rpc/voiceCallReport.js         |    2 +-
 server/services/ami/rpc/voiceDialReport.js         |    2 +-
 server/services/ami/rpc/voiceExtension.js          |    2 +-
 server/services/ami/rpc/voiceQueue.js              |    2 +-
 server/services/ami/rpc/voiceQueueReport.js        |    2 +-
 server/services/ami/rpc/voiceQueueRt.js            |    2 +-
 server/services/ami/rpc/voiceRecording.js          |    2 +-
 server/services/ami/rpc/voiceTransferReport.js     |    2 +-
 server/services/ami/server/index.js                |    2 +-
 server/services/ami/trigger/cmContact/index.js     |    2 +-
 server/services/ami/trigger/index.js               |    2 +-
 server/services/ami/trigger/integration/desk.js    |    2 +-
 .../ami/trigger/integration/dynamics365.js         |    2 +-
 .../services/ami/trigger/integration/freshdesk.js  |    2 +-
 server/services/ami/trigger/integration/index.js   |    2 +-
 .../services/ami/trigger/integration/salesforce.js |    2 +-
 .../services/ami/trigger/integration/servicenow.js |    2 +-
 .../services/ami/trigger/integration/sugarcrm.js   |    2 +-
 server/services/ami/trigger/integration/util.js    |    2 +-
 server/services/ami/trigger/integration/vtiger.js  |    2 +-
 server/services/ami/trigger/integration/zendesk.js |    2 +-
 server/services/ami/trigger/integration/zoho.js    |    2 +-
 server/services/ami/trigger/script/index.js        |    2 +-
 server/services/ami/trigger/urlforward/index.js    |    2 +-
 server/services/email/client.js                    |    2 +-
 server/services/email/index.js                     |    2 +-
 server/services/email/lib/email.js                 |    2 +-
 server/services/email/lib/imap.js                  |    2 +-
 server/services/email/lib/smtp.js                  |    2 +-
 server/services/email/lib/utils.js                 |    2 +-
 server/services/email/model/mailAccount.js         |    2 +-
 server/services/email/realtime/index.js            |    2 +-
 server/services/email/rpc/mailAccount.js           |    2 +-
 server/services/email/server/index.js              |    2 +-
 server/services/express/index.js                   |    2 +-
 server/services/routing/client.js                  |    2 +-
 server/services/routing/index.js                   |    2 +-
 server/services/routing/lib/rule-engine.js         |    2 +-
 server/services/routing/mailRpc/index.js           |    2 +-
 server/services/routing/model/agent.js             |    2 +-
 server/services/routing/model/chatQueue.js         |    2 +-
 server/services/routing/model/faxQueue.js          |    2 +-
 server/services/routing/model/interval.js          |    2 +-
 server/services/routing/model/mailQueue.js         |    2 +-
 server/services/routing/model/openchannelQueue.js  |    2 +-
 server/services/routing/model/smsQueue.js          |    2 +-
 server/services/routing/realtime/index.js          |    2 +-
 server/services/routing/rpc/chatInteraction.js     |    2 +-
 server/services/routing/rpc/chatMessage.js         |    2 +-
 server/services/routing/rpc/chatQueue.js           |    2 +-
 server/services/routing/rpc/chatQueueReport.js     |    2 +-
 server/services/routing/rpc/faxInteraction.js      |    2 +-
 server/services/routing/rpc/faxMessage.js          |    2 +-
 server/services/routing/rpc/faxQueue.js            |    2 +-
 server/services/routing/rpc/faxQueueReport.js      |    2 +-
 server/services/routing/rpc/interval.js            |    2 +-
 server/services/routing/rpc/mailInteraction.js     |    2 +-
 server/services/routing/rpc/mailMessage.js         |    2 +-
 server/services/routing/rpc/mailQueue.js           |    2 +-
 server/services/routing/rpc/mailQueueReport.js     |    2 +-
 .../services/routing/rpc/openchannelInteraction.js |    2 +-
 server/services/routing/rpc/openchannelMessage.js  |    2 +-
 server/services/routing/rpc/openchannelQueue.js    |    2 +-
 .../services/routing/rpc/openchannelQueueReport.js |    2 +-
 server/services/routing/rpc/smsInteraction.js      |    2 +-
 server/services/routing/rpc/smsMessage.js          |    2 +-
 server/services/routing/rpc/smsQueue.js            |    2 +-
 server/services/routing/rpc/smsQueueReport.js      |    2 +-
 server/services/routing/rpc/user.js                |    2 +-
 .../services/routing/server/applications/agent.js  |    2 +-
 .../routing/server/applications/amazonlex.js       |    2 +-
 .../routing/server/applications/autoreply.js       |    2 +-
 .../services/routing/server/applications/close.js  |    2 +-
 .../routing/server/applications/dialogflow.js      |    2 +-
 .../services/routing/server/applications/gotoif.js |    2 +-
 .../services/routing/server/applications/gotop.js  |    2 +-
 .../routing/server/applications/message.js         |    2 +-
 .../services/routing/server/applications/noop.js   |    2 +-
 .../services/routing/server/applications/queue.js  |    2 +-
 .../routing/server/applications/strategy/agent.js  |    2 +-
 .../server/applications/strategy/beepall.js        |    2 +-
 .../routing/server/applications/strategy/index.js  |    2 +-
 .../server/applications/strategy/rrmemory.js       |    2 +-
 .../routing/server/applications/strategy/util.js   |    2 +-
 .../services/routing/server/applications/system.js |    2 +-
 server/services/routing/server/applications/tag.js |    2 +-
 .../services/routing/server/applications/utils.js  |    2 +-
 server/services/routing/server/index.js            |    2 +-
 server/services/routing/server/interval.js         |    2 +-
 server/services/xdr/agents.controller.js           |    2 +-
 server/services/xdr/calls.controller.js            |    2 +-
 server/services/xdr/core.controller.js             |    2 +-
 server/services/xdr/dials.controller.js            |    2 +-
 server/services/xdr/index.js                       |    2 +-
 server/services/xdr/members.controller.js          |    2 +-
 server/services/xdr/queues.controller.js           |    2 +-
 server/services/xdr/recordings.controller.js       |    2 +-
 server/services/xdr/transfers.controller.js        |    2 +-
 server/services/xdr/utils.js                       |    2 +-
 snippet/1.0.14/scripts/app.js                      |    8 +-
 snippet/1.0.14/scripts/vendor.js                   | 1776 ++++++++++----------
 snippet/1.0.14/styles/app.css                      |    7 +
 snippet/1.0.14/styles/mobile.css                   |    3 +-
 snippet/1.0.14/styles/vendor.css                   |   21 +-
 1064 files changed, 2170 insertions(+), 1965 deletions(-)
 delete mode 100644 public/scripts/app.6d6e8949.js
 create mode 100644 public/scripts/app.be861090.js
 create mode 100644 server/migrations/2.4.5.js

diff --git a/apidoc/api_data.js b/apidoc/api_data.js
index a7c50b5..84ae64a 100644
--- a/apidoc/api_data.js
+++ b/apidoc/api_data.js
@@ -1 +1 @@
-define({ "api": [
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_fields",
    "title": "Creates a new Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "values",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "required",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Add agents to a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}",
    "title": "Gets a single Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
] });
+define({ "api": [
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_field",
    "title": "Create a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_field  -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustomField",
    "group": "Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Add agents to a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}",
    "title": "Gets a single Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
] });
diff --git a/apidoc/api_data.json b/apidoc/api_data.json
index 4a3072a..73b910e 100644
--- a/apidoc/api_data.json
+++ b/apidoc/api_data.json
@@ -1 +1 @@
-[
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_fields",
    "title": "Creates a new Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "values",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "required",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Add agents to a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}",
    "title": "Gets a single Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
]
+[
  {
    "type": "delete",
    "url": "/api/actions/{id}",
    "title": "Deletes a Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "put",
    "url": "/api/actions/{id}",
    "title": "Update an existing Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateActions",
    "group": "Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/action/index.js",
    "groupTitle": "Actions"
  },
  {
    "type": "post",
    "url": "/api/analytics/custom_reports",
    "title": "Creates a new Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Deletes a Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports",
    "title": "Gets a list of Analytic Custom Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/custom_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/custom_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/custom_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/custom_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/custom_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Gets a single Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/custom_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/custom_reports/{id}",
    "title": "Update an existing Analytic Custom Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/custom_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Custom_Reports",
    "group": "Analytic_Custom_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticCustomReport/index.js",
    "groupTitle": "Analytic_Custom_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/default_reports",
    "title": "Creates a new Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "conditions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "joins",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Deletes a Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports",
    "title": "Gets a list of Analytic Default Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/default_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/default_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/default_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/default_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/default_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Gets a single Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/preview",
    "title": "Report Preview",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/preview -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "preview",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/query",
    "title": "Report Query SQL",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/query -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "query",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/default_reports/{id}/run",
    "title": "Report Run",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/default_reports/{id}",
    "title": "Update an existing Analytic Default Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/default_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Default_Reports",
    "group": "Analytic_Default_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticDefaultReport/index.js",
    "groupTitle": "Analytic_Default_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/extracted_reports",
    "title": "Creates a new Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "basename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "savename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endDate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"manual\"",
              "\"scheduled\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "reportId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reportType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Deletes a Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports",
    "title": "Gets a list of Analytic Extacted Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/extracted_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/extracted_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/extracted_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/extracted_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/extracted_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Gets a single Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/extracted_reports/{id}/download",
    "title": "Download Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/extracted_reports/{id}",
    "title": "Update an existing Analytic Extracted Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/extracted_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Extacted_Reports",
    "group": "Analytic_Extracted_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticExtractedReport/index.js",
    "groupTitle": "Analytic_Extracted_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/create_many",
    "title": "Creates many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/destroy_many?ids={ids}",
    "title": "Deletes many Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/destroy_many?ids=1&ids=2&ids=3 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "BulkDeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports",
    "title": "Creates a new Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "function",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "groupBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "orderBy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "custom",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Deletes a Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports",
    "title": "Gets a list of Analytic Field Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/field_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/field_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/field_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/field_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/field_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Gets a single Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/field_reports/{id}/create_many",
    "title": "Rewrite fields set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id}/create_many -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addFields",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/field_reports/{id}",
    "title": "Update an existing Analytic Field Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/field_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Field_Reports",
    "group": "Analytic_Field_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticFieldReport/index.js",
    "groupTitle": "Analytic_Field_Reports"
  },
  {
    "type": "post",
    "url": "/api/analytics/metrics",
    "title": "Creates a new Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "table",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "metric",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "delete",
    "url": "/api/analytics/metrics/{id}",
    "title": "Deletes a Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics",
    "title": "Gets a list of Analytic Metric",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/metrics?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/metrics?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/metrics?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/metrics?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/metrics?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "get",
    "url": "/api/analytics/metrics/{id}",
    "title": "Gets a single Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "put",
    "url": "/api/analytics/metrics/{id}",
    "title": "Update an existing Analytic Metrics",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/metrics/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Metric",
    "group": "Analytic_Metrics",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticMetric/index.js",
    "groupTitle": "Analytic_Metrics"
  },
  {
    "type": "post",
    "url": "/api/analytics/tree_reports",
    "title": "Creates a new Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "tree",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Deletes a Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports",
    "title": "Gets a list of Analytic Tree Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/analytics/tree_reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/analytics/tree_reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/analytics/tree_reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/analytics/tree_reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/analytics/tree_reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "get",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Gets a single Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "put",
    "url": "/api/analytics/tree_reports/{id}",
    "title": "Update an existing Analytic Tree Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/analytics/tree_reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAnalytic_Tree_Reports",
    "group": "Analytic_Tree_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/analyticTreeReport/index.js",
    "groupTitle": "Analytic_Tree_Reports"
  },
  {
    "type": "delete",
    "url": "/api/attachments/{id}",
    "title": "Deletes a Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments",
    "title": "Gets a list of Attachments",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAttachments",
    "group": "Attachments",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/attachments?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/attachments?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/attachments?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/attachments?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/attachments?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/{id}",
    "title": "Gets a single Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/attachments",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/attachments/:id/download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/:id/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/attachment_download",
    "title": "Download attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "put",
    "url": "/api/attachments/{id}",
    "title": "Update an existing Attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/attachments/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAttachments",
    "group": "Attachments",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/attachment/index.js",
    "groupTitle": "Attachments"
  },
  {
    "type": "post",
    "url": "/api/auth/local/forgot",
    "title": "Creates a new password reset token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/forgot -d '{\"email\": \"[email-masked]\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Forgot_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local/reset/:token",
    "title": "Reset user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local/reset/94b422c1fkdjhg766a198da6997yu6gcc963641d -d '{\"password\": \"My_newP@ssw0rd\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_Reset_Password",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/local",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authLocal/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/auth/google",
    "title": "Creates a new User token",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
        "type": "json"
      }
    ],
    "name": "Local_login",
    "group": "Authentication",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/authGoogle/index.js",
    "groupTitle": "Authentication"
  },
  {
    "type": "post",
    "url": "/api/automations",
    "title": "Creates a new Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAutomations",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "delete",
    "url": "/api/automations/{id}",
    "title": "Deletes a Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations",
    "title": "Gets a list of Automations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAutomations",
    "group": "Automations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/automations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/automations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/automations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/automations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/automations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}",
    "title": "Gets a single Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addActions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/automations/{id}/conditions",
    "title": "Creates new conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConditions",
    "group": "Automations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/actions",
    "title": "Gets Automation Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "get",
    "url": "/api/automations/{id}/conditions",
    "title": "Gets Automation Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id}/conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConditions",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "put",
    "url": "/api/automations/{id}",
    "title": "Update an existing Automation",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/automations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAutomations",
    "group": "Automations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/automation/index.js",
    "groupTitle": "Automations"
  },
  {
    "type": "post",
    "url": "/api/canned_answers",
    "title": "Create a new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "delete",
    "url": "/api/canned_answers/{id}",
    "title": "Deletes a Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers",
    "title": "Gets a list of Canned Answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/canned_answers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/canned_answers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/canned_answers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/canned_answers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/canned_answers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/api/canned_answers/{id}",
    "title": "Gets a single Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "put",
    "url": "/api/canned_answers/{id}",
    "title": "Update an existing Canned Answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/canned_answers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCanned_Answers",
    "group": "Canned_Answers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cannedAnswer/index.js",
    "groupTitle": "Canned_Answers"
  },
  {
    "type": "get",
    "url": "/chat/internal/users",
    "title": "Gets Users Last Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/chat/internal/users -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getLastUsersMessages",
    "group": "ChatInternalMessage",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "ChatInternalMessage"
  },
  {
    "type": "delete",
    "url": "/api/chat/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "get",
    "url": "/api/chat/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "put",
    "url": "/api/chat/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Chat_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatApplication/index.js",
    "groupTitle": "Chat_Applications"
  },
  {
    "type": "post",
    "url": "/api/chat/groups",
    "title": "Creates a new Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateGroups",
    "group": "Chat_Groups",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "write",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}",
    "title": "Deletes a Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/describe",
    "title": "Gets table info about Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups",
    "title": "Gets a list of Groups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/groups?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/groups?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/groups?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/groups?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/groups?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "delete",
    "url": "/api/chat/groups/{id}/members",
    "title": "Removes members from a group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}",
    "title": "Gets a single Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/members",
    "title": "Add members to chat group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Creates a new group message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -d '{\"body\": \"Hi operator!\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/members",
    "title": "Gets Members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMembers",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/messages",
    "title": "Gets Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "get",
    "url": "/api/chat/groups/{id}/unread",
    "title": "Get unread chat group messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id}/unread -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUread",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "put",
    "url": "/api/chat/groups/{id}",
    "title": "Update an existing Group",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/groups/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateGroups",
    "group": "Chat_Groups",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatGroup/index.js",
    "groupTitle": "Chat_Groups"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/chat/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/abandon",
    "title": "Abandon interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/abandon -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "abandon",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to set as abandon an interaction and stop the routing.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/close",
    "title": "Close Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Chat_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/interactions/{id}/attachment_upload",
    "title": "Add attachment",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/attachment_upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "attachmentUpload",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}/custom_update",
    "title": "Update interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/custom_update -d '{\"channel\": \"chat\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "customUpdate",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to update an interaction.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "get",
    "url": "/api/chat/interactions/{id}/my_messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id}/my_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMyMessages",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "put",
    "url": "/api/chat/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Chat_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInteraction/index.js",
    "groupTitle": "Chat_Interactions"
  },
  {
    "type": "post",
    "url": "/api/chat/internal/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Internal_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ChatInternalMessageId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/internal/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/internal/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/internal/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/internal/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/internal/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/internal/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/internal/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Internal_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatInternalMessage/index.js",
    "groupTitle": "Chat_Internal_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Chat_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Chat_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/offline_messages",
    "title": "Creates a new OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "delete",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Deletes a OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/describe",
    "title": "Gets table info about OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages",
    "title": "Gets a list of OfflineMessages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/offline_messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/offline_messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/offline_messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/offline_messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/offline_messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "get",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Gets a single OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "put",
    "url": "/api/chat/offline_messages/{id}",
    "title": "Update an existing OfflineMessage",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/offline_messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOfflineMessages",
    "group": "Chat_Offline_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatOfflineMessage/index.js",
    "groupTitle": "Chat_Offline_Messages"
  },
  {
    "type": "post",
    "url": "/api/chat/proactive_actions",
    "title": "Creates a new Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "delete",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Deletes a Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "get",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Gets a single Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "put",
    "url": "/api/chat/proactive_actions/{id}",
    "title": "Update an existing Proactive Action",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/proactive_actions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProactive_Actions",
    "group": "Chat_Proactive_Actions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatProactiveAction/index.js",
    "groupTitle": "Chat_Proactive_Actions"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/queue",
    "title": "Creates a new Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Deletes a Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/describe",
    "title": "Gets table info about Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue",
    "title": "Gets a list of Chat Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Gets a single Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/queue/{id}",
    "title": "Update an existing Chat Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Queue_Reports",
    "group": "Chat_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueueReport/index.js",
    "groupTitle": "Chat_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Chat_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "get",
    "url": "/api/chat/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "put",
    "url": "/api/chat/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Chat_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Chat_Queues"
  },
  {
    "type": "post",
    "url": "/api/chat/reports/transfer",
    "title": "Creates a new Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Deletes a Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/describe",
    "title": "Gets table info about Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer",
    "title": "Gets a list of Chat Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Gets a single Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/chat/reports/transfer/{id}",
    "title": "Update an existing Chat Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChat_Transfer_Reports",
    "group": "Chat_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatTransferReport/index.js",
    "groupTitle": "Chat_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/users",
    "title": "Add agents to a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites",
    "title": "Creates a new Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateWebsites",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKeyOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "color_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "textColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "fontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "animation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rounded\"",
              "\"squared\""
            ],
            "optional": true,
            "field": "header_shape",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "start_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offline_chat_button",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "header_offline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "download_transcript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "whiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultWhiteLabel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "sitepic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingQuestion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitSuccessMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "formSubmitFailureMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "noteTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "placeholderMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closingMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipMessageButton",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "conditionAgreement",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableRating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableFeedback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingStarsNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "onlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "offlineForm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoclose",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerWriting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardTranscriptMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "forwardOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "forwardOfflineAddress",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "waitingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageSubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "offlineMessageBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUnmanagedNote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unmanagedMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skipUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sendUnmanaged",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerAttachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableCustomerCheckmarks",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "agentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showAgentAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hideWhenOffline",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentIdentifier",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "verticalAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messagesAlignment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultTitle",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "customerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "showCustomerAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "messageFontSize",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "backgroundColor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "systemAlias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "systemAvatar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}",
    "title": "Deletes a Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/describe",
    "title": "Gets table info about Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/users",
    "title": "Gets agents from website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites",
    "title": "Gets a list of Websites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/chat/websites?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/chat/websites?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/chat/websites?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/chat/websites?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/chat/websites?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/users",
    "title": "Removes agents from a website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "delete",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}",
    "title": "Gets a single Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Add customer avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ratingValue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"star\"",
              "\"thumb\""
            ],
            "optional": true,
            "field": "ratingType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "ratingMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "pathTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailTranscript",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "browserVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "osVersion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceModel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceVendor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deviceType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "referer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customerIp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closeReason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Creates new Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addProactiveActions",
    "group": "Chat_Websites",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"mouseOver\"",
              "\"timeout\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "selector",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Add system avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/applications",
    "title": "Gets Website Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/customer_avatar",
    "title": "Get Customer Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/customer_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomerAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/fields",
    "title": "Gets Website Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/interactions",
    "title": "Gets Website Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/offline_messages",
    "title": "Gets Website Offline Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline_messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOfflineMessages",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/proactive_actions",
    "title": "Gets Website Proactive Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/proactive_actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getProactiveActions",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/snippet",
    "title": "Gets Website Snippet",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/snippet -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSnippet",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "get",
    "url": "/api/chat/websites/{id}/system_avatar",
    "title": "Get System Avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/system_avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSystemAvatar",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new chat message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/chat/websites/{id}/offline",
    "title": "Offline message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id}/offline -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "offline",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatMessage/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "put",
    "url": "/api/chat/websites/{id}",
    "title": "Update an existing Website",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/websites/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateWebsites",
    "group": "Chat_Websites",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatWebsite/index.js",
    "groupTitle": "Chat_Websites"
  },
  {
    "type": "post",
    "url": "/api/cm/companies",
    "title": "Creates a new Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCompanies",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "companyId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "website",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailDomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sStreet",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sPostalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sCountry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/companies/{id}",
    "title": "Deletes a Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies",
    "title": "Gets a list of Companies",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/companies?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/companies?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/companies?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/companies?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/companies?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}",
    "title": "Gets a single Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "post",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Companies",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "get",
    "url": "/api/cm/companies/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/companies/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "put",
    "url": "/api/cm/companies/{id}",
    "title": "Update an existing Company",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/companies/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCompanies",
    "group": "Cm_Companies",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCompany/index.js",
    "groupTitle": "Cm_Companies"
  },
  {
    "type": "delete",
    "url": "/api/cm/contacts/{id}",
    "title": "Deletes a Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/describe",
    "title": "Gets table info about Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts",
    "title": "Gets a list of Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Cm_Contacts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/contacts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/contacts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/contacts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/contacts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/contacts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/finals",
    "title": "Gets contact hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hopper_histories",
    "title": "Gets contact hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/hoppers",
    "title": "Gets contact hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/create_many",
    "title": "Create Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/create_many -d '[{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "bulkCreate",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts",
    "title": "Create Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts -d '{\"firstName\": \"John\", \"lastName\": \"doe\", \"...\": \"...\"}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/jscripty_sessions",
    "title": "Gets contact hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getJscriptySessions",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/merge",
    "title": "Merge Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/merge -d '{\"from\": 1, \"to\": 2}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "merge",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id}/tags -d '{\"ids\": [1,12]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "get",
    "url": "/api/cm/contacts/{id}",
    "title": "Gets a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "show",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "put",
    "url": "/api/cm/contacts/{id}",
    "title": "Update a single Contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/{id} -d '{\"firstName\": \"John\", \"lastName\": \"Doe\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Contacts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_Contacts"
  },
  {
    "type": "delete",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Deletes a Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields",
    "title": "Gets a list of Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/custom_fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/custom_fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/custom_fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/custom_fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/custom_fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "get",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Gets a single Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "put",
    "url": "/api/cm/custom_fields/{id}",
    "title": "Update an existing Custom Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCustom_Fields",
    "group": "Cm_Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Cm_Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper",
    "title": "Creates a new Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopper",
    "group": "Cm_Hopper",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ContactId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ListId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "VoiceQueueId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "CampaignId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/describe",
    "title": "Gets table info about Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper",
    "title": "Gets a list of Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/{id}",
    "title": "Gets a single Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Deletes a Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/describe",
    "title": "Gets table info about Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black",
    "title": "Gets a list of Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_black?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_black?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_black?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_black?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_black?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Gets a single Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_black/{id}",
    "title": "Update an existing Hopper Black",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_black/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper_Black",
    "group": "Cm_Hopper_Black",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperBlack/index.js",
    "groupTitle": "Cm_Hopper_Black"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/describe",
    "title": "Gets table info about HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final",
    "title": "Gets a list of HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_final?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_final?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_final?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_final?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_final?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Gets a single HopperFinal",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_final/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/checkContactHopper",
    "title": "Check if contact is in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/checkContactHopper -d '{\"VoiceQueueId\": \"VoiceQueueId\", \"CampaignId\": \"CampaignId\", \"ContactId\": \"ContactId\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "_checkContactHopper",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/campaign/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_final/voice/queue/countAttributes/{id}",
    "title": "Return number contacts for attributes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/countAttributes/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "countContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/campaign/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/campaign/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "moveContactsIvrCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_final/voice/queue/{id}",
    "title": "Move contacts in hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/voice/queue/moveContacts/{id} -d '{\"state\": \"state\"}' -H 'Content-Type: application/json' -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "moveContactsQueueCampaignHopperFinal",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_final/{id}",
    "title": "Update a single hopper final",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_final/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_Final",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperFinal/index.js",
    "groupTitle": "Cm_Hopper_Final"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper_history",
    "title": "Creates a new HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateHopperHistory",
    "group": "Cm_Hopper_History",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "state",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "statedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countbusyretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countcongestionretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countnoanswerretry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "countglobal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "originatecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "responsetime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "answertime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "droptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "ringtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "followuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dropreason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaign",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "campaigntype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "amd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "recallme",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "editedat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "edited",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/describe",
    "title": "Gets table info about HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history",
    "title": "Gets a list of HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/hopper_history?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/hopper_history?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/hopper_history?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/hopper_history?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/hopper_history?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Gets a single HopperHistory",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper_history/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowHopperHistory",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper_history/{id}",
    "title": "Update a single hopper history",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/hopper_history/{id} -d '{\"disposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Cm_Hopper_History",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopperHistory/index.js",
    "groupTitle": "Cm_Hopper_History"
  },
  {
    "type": "delete",
    "url": "/api/cm/hopper/{id}",
    "title": "Delete Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroy",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "get",
    "url": "/api/cm/hopper/opencontacts",
    "title": "Gets Open Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/opencontacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getOpenContacts",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/hopper/preview",
    "title": "Gets Preview Dialer Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/preview -d '{\"hopperIds\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreview",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "put",
    "url": "/api/cm/hopper/{id}",
    "title": "Update an existing Hopper",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/hopper/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateHopper",
    "group": "Cm_Hopper",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmHopper/index.js",
    "groupTitle": "Cm_Hopper"
  },
  {
    "type": "post",
    "url": "/api/cm/lists",
    "title": "Creates a new List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateLists",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}",
    "title": "Deletes a List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/describe",
    "title": "Gets table info about Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/users",
    "title": "Gets agents from list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists",
    "title": "Gets a list of Lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm/lists?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm/lists?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm/lists?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm/lists?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm/lists?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/users",
    "title": "Removes agents from a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "delete",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}",
    "title": "Gets a single List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/users",
    "title": "Adds agents to a list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Creates new contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -d '[{\"firstName\": \"John Doe\", \"email\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addContacts",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "firstName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "street",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "postalCode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dateOfBirth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "facebook",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fb_data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "twitter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "skype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "teams",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "viber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "line",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "wechat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "telegram",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "UserId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "scheduledat",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Creates a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addCustomField",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Cm_Lists",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts",
    "title": "Gets List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getContacts",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/fields",
    "title": "Gets Custom Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getCustomFields",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/dispositions",
    "title": "Gets list dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "get",
    "url": "/api/cm/lists/{id}/contacts/csv",
    "title": "Gets CSV List Contacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id}/contacts/csv -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "grunt",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "put",
    "url": "/api/cm/lists/{id}",
    "title": "Update an existing List",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/lists/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateLists",
    "group": "Cm_Lists",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmList/index.js",
    "groupTitle": "Cm_Lists"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload/:id",
    "title": "Import new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload/:id -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "import",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/upload",
    "title": "Upload csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/upload -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "upload",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "post",
    "url": "/api/cm/contacts/csv",
    "title": "Create new contacts by csv",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/contacts/csv -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadCsv",
    "group": "Cm_contacts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmContact/index.js",
    "groupTitle": "Cm_contacts"
  },
  {
    "type": "delete",
    "url": "/api/conditions/{id}",
    "title": "Deletes a Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "put",
    "url": "/api/conditions/{id}",
    "title": "Update an existing Condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/conditions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateConditions",
    "group": "Conditions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/condition/index.js",
    "groupTitle": "Conditions"
  },
  {
    "type": "post",
    "url": "/api/cm/custom_field",
    "title": "Create a new custom field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cm/custom_field  -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCustomField",
    "group": "Custom_Fields",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cmCustomField/index.js",
    "groupTitle": "Custom_Fields"
  },
  {
    "type": "post",
    "url": "/api/dashboards/items",
    "title": "Create dasboard item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/items/{id}",
    "title": "Deletes a Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "get",
    "url": "/api/dashboards/items/{id}",
    "title": "Gets a single Dashboard Item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboard_Items",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "put",
    "url": "/api/dashboards/items/{id}",
    "title": "Update an existing item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/items/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Dashboard_Items",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboardItem/index.js",
    "groupTitle": "Dashboard_Items"
  },
  {
    "type": "post",
    "url": "/api/dashboards/clone",
    "title": "Clone an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards",
    "title": "Creates a new Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDashboards",
    "group": "Dashboards",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "delete",
    "url": "/api/dashboards/{id}",
    "title": "Deletes a Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards",
    "title": "Gets a list of Dashboards",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dashboards?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dashboards?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dashboards?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dashboards?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dashboards?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}",
    "title": "Gets a single Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/dashboards/{id}/items",
    "title": "Creates new item",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -d '{\"type\": \"counter\", \"...\": \"...\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addItem",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "get",
    "url": "/api/dashboards/{id}/items",
    "title": "Gets items",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id}/items -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getItems",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "put",
    "url": "/api/dashboards/{id}",
    "title": "Update an existing Dashboard",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dashboards/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDashboards",
    "group": "Dashboards",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/dashboard/index.js",
    "groupTitle": "Dashboards"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts",
    "title": "Creates a new Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Accounts",
    "group": "Desk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"basic\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "consumerSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tokenSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Deletes a Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts",
    "title": "Gets a list of Desk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Gets a single Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/accounts/{id}",
    "title": "Update an existing Desk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Accounts",
    "group": "Desk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskAccount/index.js",
    "groupTitle": "Desk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations",
    "title": "Creates a new Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Configurations",
    "group": "Desk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Deletes a Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations",
    "title": "Gets a list of Desk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Gets a single Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/configurations/{id}",
    "title": "Update an existing Desk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Configurations",
    "group": "Desk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskConfiguration/index.js",
    "groupTitle": "Desk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/desk/fields",
    "title": "Creates a new Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDesk_Fields",
    "group": "Desk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Deletes a Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields",
    "title": "Gets a list of Desk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/desk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/desk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/desk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/desk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/desk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Gets a single Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/desk/fields/{id}",
    "title": "Update an existing Desk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/desk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDesk_Fields",
    "group": "Desk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDeskField/index.js",
    "groupTitle": "Desk_Fields"
  },
  {
    "type": "post",
    "url": "/api/dispositions",
    "title": "Creates a new Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDispositions",
    "group": "Dispositions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "delete",
    "url": "/api/dispositions/{id}",
    "title": "Deletes a Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions",
    "title": "Gets a list of Dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/dispositions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/dispositions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/dispositions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/dispositions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/dispositions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "get",
    "url": "/api/dispositions/{id}",
    "title": "Gets a single Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "put",
    "url": "/api/dispositions/{id}",
    "title": "Update an existing Disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDispositions",
    "group": "Dispositions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/disposition/index.js",
    "groupTitle": "Dispositions"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Creates a new Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tenantId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Deletes a Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts",
    "title": "Gets a list of Dynamics365 Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Gets a single Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/accounts/{id}",
    "title": "Update an existing Dynamics365 Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Accounts",
    "group": "Dynamics365_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Account/index.js",
    "groupTitle": "Dynamics365_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Creates a new Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"incident\"",
              "\"phonecall\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Deletes a Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations",
    "title": "Gets a list of Dynamics365 Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Gets a single Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/configurations/{id}",
    "title": "Update an existing Dynamics365 Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Configurations",
    "group": "Dynamics365_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Configuration/index.js",
    "groupTitle": "Dynamics365_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Creates a new Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Deletes a Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields",
    "title": "Gets a list of Dynamics365 Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/dynamics365/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/dynamics365/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/dynamics365/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Gets a single Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/dynamics365/fields/{id}",
    "title": "Update an existing Dynamics365 Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/dynamics365/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateDynamics365_Fields",
    "group": "Dynamics365_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intDynamics365Field/index.js",
    "groupTitle": "Dynamics365_Fields"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Add agents to a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ecm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "headerinfo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "localstationid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "minrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"2400\"",
              "\"4800\"",
              "\"7200\"",
              "\"9600\"",
              "\"12000\"",
              "\"14400\""
            ],
            "optional": true,
            "field": "maxrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "modem",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "gateway",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "faxdetect",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "t38timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SIP\"",
              "\"IAX\"",
              "\"DADHI\"",
              "\"KHOMP\""
            ],
            "optional": true,
            "field": "tech",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Gets agents from fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/users",
    "title": "Removes agents from a fax account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/addaccountapplications",
    "title": "Creates new account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -d '[{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/applications",
    "title": "Gets account pplications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "get",
    "url": "/api/fax/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/{id}/send",
    "title": "Send new fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id}/send -d '{from: '\"John Doe\" <123456>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendFax",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "put",
    "url": "/api/fax/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Fax_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/accounts/updateaccountapplications",
    "title": "Update account and applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/accounts/updateaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxAccount/index.js",
    "groupTitle": "Fax_Accounts"
  },
  {
    "type": "post",
    "url": "/api/fax/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Fax_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "delete",
    "url": "/api/fax/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "get",
    "url": "/api/fax/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "put",
    "url": "/api/fax/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Fax_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxApplication/index.js",
    "groupTitle": "Fax_Applications"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fax",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/fax/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "post",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Fax_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "failMessage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/download",
    "title": "Get interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "put",
    "url": "/api/fax/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Fax_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxInteraction/index.js",
    "groupTitle": "Fax_Interactions"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}/download",
    "title": "Get message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Fax_Message",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Message"
  },
  {
    "type": "delete",
    "url": "/api/fax/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "get",
    "url": "/api/fax/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/messages",
    "title": "Create message and send Fax",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "put",
    "url": "/api/fax/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Fax_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxMessage/index.js",
    "groupTitle": "Fax_Messages"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/queue",
    "title": "Creates a new Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Deletes a Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/describe",
    "title": "Gets table info about Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue",
    "title": "Gets a list of Fax Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Gets a single Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/queue/{id}",
    "title": "Update an existing Fax Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Queue_Reports",
    "group": "Fax_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueueReport/index.js",
    "groupTitle": "Fax_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Fax_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastAgent",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "get",
    "url": "/api/fax/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "put",
    "url": "/api/fax/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Fax_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Fax_Queues"
  },
  {
    "type": "post",
    "url": "/api/fax/reports/transfer",
    "title": "Creates a new Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Deletes a Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/describe",
    "title": "Gets table info about Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer",
    "title": "Gets a list of Fax Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/fax/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/fax/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/fax/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/fax/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/fax/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Gets a single Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/fax/reports/transfer/{id}",
    "title": "Update an existing Fax Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFax_Transfer_Reports",
    "group": "Fax_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxTransferReport/index.js",
    "groupTitle": "Fax_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Creates a new Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Deletes a Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts",
    "title": "Gets a list of Freshdesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Gets a single Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/accounts/{id}",
    "title": "Update an existing Freshdesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Accounts",
    "group": "Freshdesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskAccount/index.js",
    "groupTitle": "Freshdesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Creates a new Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Deletes a Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations",
    "title": "Gets a list of Freshdesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Gets a single Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/configurations/{id}",
    "title": "Update an existing Freshdesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Configurations",
    "group": "Freshdesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskConfiguration/index.js",
    "groupTitle": "Freshdesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Creates a new Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Deletes a Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields",
    "title": "Gets a list of Freshdesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/freshdesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/freshdesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Gets a single Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/freshdesk/fields/{id}",
    "title": "Update an existing Freshdesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/freshdesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateFreshdesk_Fields",
    "group": "Freshdesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intFreshdeskField/index.js",
    "groupTitle": "Freshdesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Add blacklists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/{id}/lists",
    "title": "Add lists to an IVR campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns/clone",
    "title": "Clone an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/campaigns",
    "title": "Creates a new IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ivr\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "active",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "limitCalls",
            "description": "<p>Max 200 calls.</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}",
    "title": "Deletes a IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Get IVR campaign blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/finals",
    "title": "Gets IVR campaign hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hopper_histories",
    "title": "Gets IVR campaign hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/hoppers",
    "title": "Gets IVR campaign hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns",
    "title": "Gets a list of IVR Campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/campaigns?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/campaigns?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/campaigns?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/campaigns?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/campaigns?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/lists",
    "title": "Get IVR campaign lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/blacklists",
    "title": "Remove blacklists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "delete",
    "url": "/api/campaigns/{id}/lists",
    "title": "Remove lists from an IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}",
    "title": "Gets a single IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "get",
    "url": "/api/campaigns/{id}/blacks",
    "title": "Gets IVR campaign hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "put",
    "url": "/api/campaigns/{id}",
    "title": "Update an existing IVR Campaign",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/campaigns/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIVR_Campaigns",
    "group": "IVR_Campaigns",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/campaign/index.js",
    "groupTitle": "IVR_Campaigns"
  },
  {
    "type": "post",
    "url": "/api/integrations/reports",
    "title": "Creates a new Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntegration_Reports",
    "group": "Integration_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "integration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "eventChannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitStatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ticketId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "integrationId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contacts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcalledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentconnectAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentcomplete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentcompleteAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "talktime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentacw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentringnoanswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentringnoanswerAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentdump",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "agentdumpAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastevent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "channelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "destchannelstate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destchannelstatedesc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destlanguage",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "destuniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "attachment",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "text",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SENT\"",
              "\"SENDING\"",
              "\"RECEIVED\"",
              "\"FAILED\""
            ],
            "optional": true,
            "field": "status",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "url",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "projectId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "delete",
    "url": "/api/integrations/reports/{id}",
    "title": "Deletes a Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/describe",
    "title": "Gets table info about Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports",
    "title": "Gets a list of Integration Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "get",
    "url": "/api/integrations/reports/{id}",
    "title": "Gets a single Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "put",
    "url": "/api/integrations/reports/{id}",
    "title": "Update an existing Integration Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntegration_Reports",
    "group": "Integration_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/integrationReport/index.js",
    "groupTitle": "Integration_Reports"
  },
  {
    "type": "post",
    "url": "/api/intervals",
    "title": "Creates a new Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateIntervals",
    "group": "Intervals",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "delete",
    "url": "/api/intervals/{id}",
    "title": "Deletes a Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals",
    "title": "Gets a list of Intervals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetIntervals",
    "group": "Intervals",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/intervals?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/intervals?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/intervals?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/intervals?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/intervals?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}",
    "title": "Gets a single Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Creates a new sub interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -d '{\"interval\": \"00:00-08:30,mon-fri,*,*\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInterval",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/intervals/{id}/sub_intervals/create_many",
    "title": "Create new sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "get",
    "url": "/api/intervals/{id}/sub_intervals",
    "title": "Get sub intervals set",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id}/sub_intervals -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "put",
    "url": "/api/intervals/{id}",
    "title": "Update an existing Interval",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/intervals/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateIntervals",
    "group": "Intervals",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/interval/index.js",
    "groupTitle": "Intervals"
  },
  {
    "type": "post",
    "url": "/api/jira",
    "title": "Creates a new issue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jira -d '{\"key\": \"Bug\", \"description\": \"I can't do it!\"}' \\\n -H \"Content-Type: application/json\" -X POST -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Creates_Issue",
    "group": "Issue",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Bug\""
            ],
            "optional": true,
            "field": "issuetype",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "summary",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jira/index.js",
    "groupTitle": "Issue"
  },
  {
    "type": "post",
    "url": "/api/jscripty/answers/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyAnswerReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/answers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/answers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/answers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/answers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/answers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/answers/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/answers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyAnswerReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyAnswerReport/index.js",
    "groupTitle": "JscriptyAnswerReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/questions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptyQuestionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "question",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "answer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "questionId",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/questions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/questions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/questions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/questions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/questions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/questions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/questions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptyQuestionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyQuestionReport/index.js",
    "groupTitle": "JscriptyQuestionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/sessions/reports",
    "title": "Creates a new Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateReports",
    "group": "JscriptySessionReport",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "starttime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "endtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "completed",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Deletes a Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/describe",
    "title": "Gets table info about Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports",
    "title": "Gets a list of Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/sessions/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/sessions/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/sessions/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Gets a single Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "get",
    "url": "/api/jscripty/sessions/reports/{id}/questions",
    "title": "Gets Jscripty Session questions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id}/questions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getQuestions",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "put",
    "url": "/api/jscripty/sessions/reports/{id}",
    "title": "Update an existing Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/sessions/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateReports",
    "group": "JscriptySessionReport",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptySessionReport/index.js",
    "groupTitle": "JscriptySessionReport"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects/clone",
    "title": "Clone an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "post",
    "url": "/api/jscripty/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Jscripty_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "formData",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enableUncompleteSave",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "delete",
    "url": "/api/jscripty/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/jscripty/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/jscripty/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/jscripty/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/jscripty/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/jscripty/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/answers",
    "title": "Gets jscripty project answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/answers -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/sessions",
    "title": "Gets jscripty project sessions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/sessions -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSessions",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/jscripty/projects/{id}/summary",
    "title": "Gets jscripty project summary",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id}/summary -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getSummary",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "put",
    "url": "/api/jscripty/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/jscripty/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Jscripty_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/jscriptyProject/index.js",
    "groupTitle": "Jscripty_Projects"
  },
  {
    "type": "get",
    "url": "/api/license",
    "title": "Gets License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "index",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "put",
    "url": "/api/license/{id}",
    "title": "Update License Info",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/license/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "License",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/license/index.js",
    "groupTitle": "License"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Add agents to a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Creates a new IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddImap",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "tls",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "connTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "authTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Creates a new SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -d '{\"host\": \"host\", \"username\": \"username\", \"password\": \"password\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmtp",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}",
    "title": "Deletes a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMailAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Gets agents from mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Gets account IMAP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetImap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Gets account SMTP server",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/users",
    "title": "Removes agents from a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/in_servers",
    "title": "Removes IMAP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/in_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveImmap",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/accounts/{id}/out_servers",
    "title": "Removes SMTP server from an account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/out_servers -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Creates new interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -d '[{\"subject\": \"My printer is on fire!\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addInteraction",
    "group": "Mail_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts",
    "title": "Create a mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/interactions",
    "title": "Gets account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteraction",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/messages",
    "title": "Gets account messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "post",
    "url": "/api/mail/accounts/{id}/send",
    "title": "Send new mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/send -d '{from: '\"John Doe\" <[email-masked]>'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendMail",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "put",
    "url": "/api/mail/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "get",
    "url": "/api/mail/accounts/{id}/verify",
    "title": "Verify mail account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/accounts/{id}/verify -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "verifySmtp",
    "group": "Mail_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailAccount/index.js",
    "groupTitle": "Mail_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/mail/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "get",
    "url": "/api/mail/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "put",
    "url": "/api/mail/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Mail_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailApplication/index.js",
    "groupTitle": "Mail_Applications"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "inReplyTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "substatusAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "lastMsgText",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "post",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Creates new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -d '[{\"to\": \"[email-masked]\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Mail_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "plainBody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "to",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "subject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sentAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originTo",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "originCc",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "get",
    "url": "/api/mail/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "put",
    "url": "/api/mail/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Mail_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailInteraction/index.js",
    "groupTitle": "Mail_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/mail/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/messages",
    "title": "Create a message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "createMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "get",
    "url": "/api/mail/messages/{id}/download",
    "title": "Gets message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "put",
    "url": "/api/mail/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Mail_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailMessage/index.js",
    "groupTitle": "Mail_Messages"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/queue",
    "title": "Creates a new Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Deletes a Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/describe",
    "title": "Gets table info about Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue",
    "title": "Gets a list of Mail Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Gets a single Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/queue/{id}",
    "title": "Update an existing Mail Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Queue_Reports",
    "group": "Mail_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueueReport/index.js",
    "groupTitle": "Mail_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Mail_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "get",
    "url": "/api/mail/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "put",
    "url": "/api/mail/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Mail_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Mail_Queues"
  },
  {
    "type": "post",
    "url": "/api/mail/out_servers",
    "title": "Creates a new SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSMTPs",
    "group": "Mail_SMTP",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pass",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secure",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "service",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "authentication",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "delete",
    "url": "/api/mail/out_servers/{id}",
    "title": "Deletes a SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers",
    "title": "Gets a list of SMTPs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/out_servers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/out_servers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/out_servers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/out_servers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/out_servers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "get",
    "url": "/api/mail/out_servers/{id}",
    "title": "Gets a single SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "put",
    "url": "/api/mail/out_servers/{id}",
    "title": "Update an existing SMTP",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/out_servers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSMTPs",
    "group": "Mail_SMTP",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailServerOut/index.js",
    "groupTitle": "Mail_SMTP"
  },
  {
    "type": "post",
    "url": "/api/mail/substatuses",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSubstatuses",
    "group": "Mail_Substatuses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "delete",
    "url": "/api/mail/substatuses/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/describe",
    "title": "Gets table info about Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses",
    "title": "Gets a list of Substatuses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/substatuses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/substatuses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/substatuses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/substatuses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/substatuses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "get",
    "url": "/api/mail/substatuses/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "put",
    "url": "/api/mail/substatuses/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/substatuses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSubstatuses",
    "group": "Mail_Substatuses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailSubstatus/index.js",
    "groupTitle": "Mail_Substatuses"
  },
  {
    "type": "post",
    "url": "/api/mail/reports/transfer",
    "title": "Creates a new Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Deletes a Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/describe",
    "title": "Gets table info about Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer",
    "title": "Gets a list of Mail Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/mail/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/mail/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/mail/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/mail/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/mail/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Gets a single Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/mail/reports/transfer/{id}",
    "title": "Update an existing Mail Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMail_Transfer_Reports",
    "group": "Mail_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailTransferReport/index.js",
    "groupTitle": "Mail_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/describe",
    "title": "Gets table info about Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports",
    "title": "Gets a list of Member Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/members/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/members/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/members/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/members/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/members/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/members/reports/{id}",
    "title": "Gets a single Member Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/members/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMember_Reports",
    "group": "Member_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/memberReport/index.js",
    "groupTitle": "Member_Reports"
  },
  {
    "type": "get",
    "url": "/api/migrations",
    "title": "Gets a list of Migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMigrations",
    "group": "Migrations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/migrations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/migrations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/migrations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/migrations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/migrations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/migration/index.js",
    "groupTitle": "Migrations"
  },
  {
    "type": "post",
    "url": "/api/voice/networks",
    "title": "Create a new network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "delete",
    "url": "/api/voice/networks/{id}",
    "title": "Deletes a network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks",
    "title": "Gets a list of Networks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetNetworks",
    "group": "Networks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/networks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/networks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/networks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/networks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/networks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "get",
    "url": "/api/networks/{id}",
    "title": "Gets a single Network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/networks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowNetworks",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "put",
    "url": "/api/voice/networks/{id}",
    "title": "Update an existing network",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/networks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Networks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/network/index.js",
    "groupTitle": "Networks"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Add agents to a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "replyUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mapKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Gets agents from openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/users",
    "title": "Removes agents from a openchannel account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Openchannel_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "get",
    "url": "/api/openchannel/accounts/{id}/interactions",
    "title": "Gets Openchannel Account Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/accounts/{id}/send",
    "title": "Send new openchannel message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id}/send -d '{from: 'John Doe', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendOpenchannel",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "put",
    "url": "/api/openchannel/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Openchannel_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelAccount/index.js",
    "groupTitle": "Openchannel_Accounts"
  },
  {
    "type": "post",
    "url": "/api/openchannel/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Openchannel_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "get",
    "url": "/api/openchannel/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "put",
    "url": "/api/openchannel/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Openchannel_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelApplication/index.js",
    "groupTitle": "Openchannel_Applications"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "externalUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Openchannel_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "get",
    "url": "/api/openchannel/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "put",
    "url": "/api/openchannel/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Openchannel_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelInteraction/index.js",
    "groupTitle": "Openchannel_Interactions"
  },
  {
    "type": "post",
    "url": "/api/openchannel/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Openchannel_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "get",
    "url": "/api/openchannel/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "put",
    "url": "/api/openchannel/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Openchannel_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelMessage/index.js",
    "groupTitle": "Openchannel_Messages"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/queue",
    "title": "Creates a new Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Deletes a Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/describe",
    "title": "Gets table info about Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue",
    "title": "Gets a list of Openchannel Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Gets a single Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/queue/{id}",
    "title": "Update an existing Openchannel Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Queue_Reports",
    "group": "Openchannel_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueueReport/index.js",
    "groupTitle": "Openchannel_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Openchannel_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "get",
    "url": "/api/openchannel/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "put",
    "url": "/api/openchannel/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Openchannel_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Openchannel_Queues"
  },
  {
    "type": "post",
    "url": "/api/openchannel/reports/transfer",
    "title": "Creates a new Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Deletes a Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/describe",
    "title": "Gets table info about Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer",
    "title": "Gets a list of Openchannel Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/openchannel/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/openchannel/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/openchannel/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Gets a single Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/openchannel/reports/transfer/{id}",
    "title": "Update an existing Openchannel Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateOpenchannel_Transfer_Reports",
    "group": "Openchannel_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelTransferReport/index.js",
    "groupTitle": "Openchannel_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/pauses",
    "title": "Creates a new Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreatePauses",
    "group": "Pauses",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "delete",
    "url": "/api/pauses/{id}",
    "title": "Deletes a Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses",
    "title": "Gets a list of Pauses",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPauses",
    "group": "Pauses",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/pauses?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/pauses?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/pauses?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/pauses?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/pauses?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/pauses/{id}",
    "title": "Gets a single Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "put",
    "url": "/api/pauses/{id}",
    "title": "Update an existing Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pauses/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePauses",
    "group": "Pauses",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pause/index.js",
    "groupTitle": "Pauses"
  },
  {
    "type": "get",
    "url": "/api/plugins",
    "title": "Gets a list of Plugins",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPlugins",
    "group": "Plugins",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/plugins?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/plugins?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/plugins?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/plugins?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/plugins?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}",
    "title": "Gets a single Plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPlugins",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/plugins/{id}",
    "title": "Delete a plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroyPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/{id}/download",
    "title": "Download plugin source code",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "put",
    "url": "/api/plugins/{id}",
    "title": "Update an existing plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updatePlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins",
    "title": "Upload new plugin",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "uploadPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "post",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "get",
    "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
    "title": "Redirect a plugin request to the specified path",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "webhookPlugin",
    "group": "Plugins",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/plugin/index.js",
    "groupTitle": "Plugins"
  },
  {
    "type": "delete",
    "url": "/api/pm2/{id}",
    "title": "Deletes an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2/{id}",
    "title": "Gets a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/pm2",
    "title": "Gets pm2 processes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPm2Processes",
    "group": "Pm2",
    "description": "<p>Motion returns the pm2 processes list.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "post",
    "url": "/api/pm2",
    "title": "Start a single pm2 process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2 -d '{\"name\": \"process_name\", \"script\": \"/index.js\"}'\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "StartPm2Process",
    "group": "Pm2",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "script",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "put",
    "url": "/api/pm2/{id}",
    "title": "Update an existing process",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/pm2/{id} -d '{\"status\": \"online\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "UpdatePm2Process",
    "group": "Pm2",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/pm2/index.js",
    "groupTitle": "Pm2"
  },
  {
    "type": "get",
    "url": "/api/rpc/campaigns/",
    "title": "Gets a list of campaigns",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/campaigns -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "Campaigns",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime campaigns parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/accounts",
    "title": "Gets a list of FaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FaxAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "put",
    "url": "/api/rpc/agents/:id/capacity",
    "title": "Sets agent capacity",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/capacity -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgentCapacity",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return the current agent capacity.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/agents",
    "title": "Gets a list of RTAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTAgents",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime agents parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues",
    "title": "Gets a list of RTChatQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime chat queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues",
    "title": "Gets a list of RTFaxQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime fax queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/accounts",
    "title": "Gets a list of RTMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailAccounts",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail account parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues",
    "title": "Gets a list of RTMailQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime mail queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues",
    "title": "Gets a list of RTOpenchannelQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime openchannel queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound/channels",
    "title": "Gets a list of RTOutboundChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTOutboundChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues",
    "title": "Gets a list of RTSmsQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime sms queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/telephones",
    "title": "Gets a list of RTTelephones",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/telephones -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTelephones",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of telephones parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/trunks",
    "title": "Gets a list of RTTrunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTTrunks",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime trunks parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/mixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel mixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannelStopMixMonitor",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels/{uniqueid}/stopmixmonitor -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannelStopMixMonitor",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channel stopmixmonitor.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/channels",
    "title": "Gets a list of RTVoiceChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}",
    "title": "Gets a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannel",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/hangup",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/hangup -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelHangup",
    "group": "RPC_Realtime",
    "description": "<p>Motion will hangup a specific realtime voice queue channel.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten}",
    "title": "Hangup a single RTVoiceQueueChannel",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels/{uniqueid}/redirect/{exten} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueueChannelRedirect",
    "group": "RPC_Realtime",
    "description": "<p>Motion will redirect a specific realtime voice queue channel to a specific extension.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/preview/{id}",
    "title": "Gets a single preview contact",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/preview/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuePreview",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a specific preview contact.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues",
    "title": "Gets a list of RTVoiceQueues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/outbound",
    "title": "Gets a list of RTOutbound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/channels",
    "title": "Gets a list of RTVoiceQueuesChannels",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/channels -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RTVoiceQueuesChannels",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime voice queues channels.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/{id}",
    "title": "Gets a single RTChatQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTChatQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/{id}",
    "title": "Gets a single RTFaxQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTFaxQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/{id}",
    "title": "Gets a single RTMailQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTMailQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/{id}",
    "title": "Gets a single RTOpenchannelQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTOpenchannelQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/{id}",
    "title": "Gets a single RTSmsQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTSmsQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/voice/queues/{id}",
    "title": "Gets a single RTVoiceQueue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRTVoiceQueues",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/agents/:id/notify",
    "title": "Notify message to a specific agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/agents/:id/notify -d '{\"messageId\": \"5080\", \"channel\": \"mail\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "agentNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific agent.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/chat/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "chatQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/chat/queues/waitinginteractions",
    "title": "Gets a list of chatQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/chat/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "chatQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting chat queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/fax/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "faxQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/fax/queues/waitinginteractions",
    "title": "Gets a list of faxQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/fax/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "faxQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting fax queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/mail/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "mailQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/mail/queues/waitinginteractions",
    "title": "Gets a list of mailQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/mail/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "mailQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting mail queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/openchannel/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "openchannelQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/openchannel/queues/waitinginteractions",
    "title": "Gets a list of openchannelQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/openchannel/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "openchannelQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/rpc/sms/queues/:id/notify",
    "title": "Notify message to a specific queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/:id/notify -d '{\"messageId\": \"5080\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "smsQueueNotify",
    "group": "RPC_Realtime",
    "description": "<p>Notify message to a specific queue.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "get",
    "url": "/api/rpc/sms/queues/waitinginteractions",
    "title": "Gets a list of smsQueuesWaitingInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/rpc/sms/queues/waitinginteractions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "smsQueuesWaitingInteractions",
    "group": "RPC_Realtime",
    "description": "<p>Motion will return a list of realtime waiting sms queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/rpc/index.js",
    "groupTitle": "RPC_Realtime"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Creates a new Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "securityToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Deletes a Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts",
    "title": "Gets a list of Salesforce Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Gets a single Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/accounts/{id}",
    "title": "Update an existing Salesforce Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Accounts",
    "group": "Salesforce_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceAccount/index.js",
    "groupTitle": "Salesforce_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Creates a new Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Task\"",
              "\"Case\""
            ],
            "optional": true,
            "field": "ticketType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"contact_lead\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleSearch",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"nothing\"",
              "\"contact\"",
              "\"lead\""
            ],
            "optional": true,
            "field": "moduleCreate",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Deletes a Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations",
    "title": "Gets a list of Salesforce Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Gets a single Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/configurations/{id}",
    "title": "Update an existing Salesforce Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Configurations",
    "group": "Salesforce_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceConfiguration/index.js",
    "groupTitle": "Salesforce_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/salesforce/fields",
    "title": "Creates a new Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Deletes a Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields",
    "title": "Gets a list of Salesforce Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/salesforce/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/salesforce/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/salesforce/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Gets a single Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/salesforce/fields/{id}",
    "title": "Update an existing Salesforce Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/salesforce/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSalesforce_Fields",
    "group": "Salesforce_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSalesforceField/index.js",
    "groupTitle": "Salesforce_Fields"
  },
  {
    "type": "post",
    "url": "/api/schedules",
    "title": "Creates a new Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSchedules",
    "group": "Schedules",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "cron",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "startAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "endAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "subtractNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"years\"",
              "\"quarters\"",
              "\"months\"",
              "\"weeks\"",
              "\"days\"",
              "\"hours\"",
              "\"minutes\""
            ],
            "optional": false,
            "field": "subtractUnit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"csv\"",
              "\"pdf\"",
              "\"xlsx\""
            ],
            "optional": false,
            "field": "output",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"custom\"",
              "\"default\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendMail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "cc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "bcc",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "sendIfEmpty",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "delete",
    "url": "/api/schedules/{id}",
    "title": "Deletes a Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules",
    "title": "Gets a list of Schedules",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSchedules",
    "group": "Schedules",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/schedules?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/schedules?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/schedules?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/schedules?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/schedules?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}",
    "title": "Gets a single Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "get",
    "url": "/api/schedules/{id}/run",
    "title": "Run Scheduler",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id}/run -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "run",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "put",
    "url": "/api/schedules/{id}",
    "title": "Update an existing Schedule",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/schedules/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSchedules",
    "group": "Schedules",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/schedule/index.js",
    "groupTitle": "Schedules"
  },
  {
    "type": "post",
    "url": "/api/screen/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Screen_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interactionid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "startedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/screen/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/screen/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/screen/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/screen/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/screen/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/screen/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "get",
    "url": "/api/screen/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "put",
    "url": "/api/screen/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/screen/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Screen_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/screenRecording/index.js",
    "groupTitle": "Screen_Recordings"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Creates a new Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Deletes a Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts",
    "title": "Gets a list of Servicenow Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Gets a single Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/accounts/{id}",
    "title": "Update an existing Servicenow Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Accounts",
    "group": "Servicenow_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowAccount/index.js",
    "groupTitle": "Servicenow_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Creates a new Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Deletes a Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations",
    "title": "Gets a list of Servicenow Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Gets a single Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/configurations/{id}",
    "title": "Update an existing Servicenow Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Configurations",
    "group": "Servicenow_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowConfiguration/index.js",
    "groupTitle": "Servicenow_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/servicenow/fields",
    "title": "Creates a new Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateServicenow_Fields",
    "group": "Servicenow_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Deletes a Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields",
    "title": "Gets a list of Servicenow Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/servicenow/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/servicenow/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/servicenow/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Gets a single Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/servicenow/fields/{id}",
    "title": "Update an existing Servicenow Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/servicenow/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateServicenow_Fields",
    "group": "Servicenow_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intServicenowField/index.js",
    "groupTitle": "Servicenow_Fields"
  },
  {
    "type": "get",
    "url": "/api/settings",
    "title": "Gets a list of Settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSettings",
    "group": "Settings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/settings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/settings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/settings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/settings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/settings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}",
    "title": "Gets a single Setting",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSettings",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "put",
    "url": "/api/settings/{id}",
    "title": "Update settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo",
    "title": "Add logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/logo_login",
    "title": "Add logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/settings/{id}/preferred",
    "title": "Add Preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/gdpr",
    "title": "Get gdpr settings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/gdpr -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getGdpr",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo",
    "title": "Get logo",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogo",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/logo_login",
    "title": "Get logo login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/logo_login -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getLogoLogin",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "get",
    "url": "/api/settings/{id}/preferred",
    "title": "Get preferred",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/settings/{id}/preferred -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getPreferred",
    "group": "Settings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/setting/index.js",
    "groupTitle": "Settings"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Add agents to a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts",
    "title": "Creates a new Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateAccounts",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remote",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"twilio\"",
              "\"skebby\"",
              "\"connectel\"",
              "\"clicksend\"",
              "\"plivo\"",
              "\"clickatell\"",
              "\"csc\"",
              "\"infobip\"",
              "\"intelepeer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountSid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"SI\"",
              "\"TI\"",
              "\"GP\""
            ],
            "optional": true,
            "field": "smsMethod",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "senderString",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "deliveryReport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notificationTemplate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationSound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "notificationShake",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "waitForTheAssignedAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "queueTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "queueTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "agentTransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "agentTransferTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "baseUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}",
    "title": "Deletes a Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/describe",
    "title": "Gets table info about Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts",
    "title": "Gets a list of Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Gets agents from sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/users",
    "title": "Removes agents from a sms account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Removes canned answers from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Removes dispositions from account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}",
    "title": "Gets a single Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/accept",
    "title": "Accepts message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/accept \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "acceptMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Creates new canned answer",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -d '{\"name\": \"vip\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnswer",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Creates new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Creates new disposition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '{\"name\": \"vip\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addDisposition",
    "group": "Sms_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/canned_answers",
    "title": "Gets account canned answers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/canned_answers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnswers",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/applications",
    "title": "Gets account applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/applications -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getApplications",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/dispositions",
    "title": "Gets account dispositions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDispositions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/interactions",
    "title": "Gets Sms Account interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getInteractions",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/notify",
    "title": "Notify new message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/notify -d '{\"body\": \"hello world\", \"...\": \"...\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "notify",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>This API is used to create a new sms message to be sent to the system.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}/reject",
    "title": "Rejects message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/reject \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "rejectMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/send",
    "title": "Send new sms message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/send -d '{from: '+39333123456', body: 'This is a test'}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "sendSms",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "get",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status as get request",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/accounts/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/messages/{id}/status",
    "title": "Receive message status",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
        "type": "json"
      }
    ],
    "name": "statusMessage",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "put",
    "url": "/api/sms/accounts/{id}",
    "title": "Update an existing Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateAccounts",
    "group": "Sms_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsAccount/index.js",
    "groupTitle": "Sms_Accounts"
  },
  {
    "type": "post",
    "url": "/api/sms/applications",
    "title": "Creates a new Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApplications",
    "group": "Sms_Applications",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "app",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "appdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interval",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "delete",
    "url": "/api/sms/applications/{id}",
    "title": "Deletes a Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications",
    "title": "Gets a list of Applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/applications?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/applications?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/applications?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/applications?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/applications?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "get",
    "url": "/api/sms/applications/{id}",
    "title": "Gets a single Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "put",
    "url": "/api/sms/applications/{id}",
    "title": "Update an existing Application",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/applications/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateApplications",
    "group": "Sms_Applications",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsApplication/index.js",
    "groupTitle": "Sms_Applications"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Add tags to the interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interaction/{id}/tags -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions",
    "title": "Creates a new Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateInteractions",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "closed",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "closedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "note",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "read1stAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "firstMsgDirection",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastMsgAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "lastMsgDirection",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}",
    "title": "Deletes a Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/describe",
    "title": "Gets table info about Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions",
    "title": "Gets a list of Interactions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/interactions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/interactions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/interactions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/interactions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/interactions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "delete",
    "url": "/api/sms/interactions/{id}/tags",
    "title": "Removes tags from interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/tags?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTags",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}",
    "title": "Gets a single Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Creates new messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addMessage",
    "group": "Sms_Interactions",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/download",
    "title": "Gets interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "get",
    "url": "/api/sms/interactions/{id}/messages",
    "title": "Gets interaction messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "put",
    "url": "/api/sms/interactions/{id}",
    "title": "Update an existing Interaction",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/interactions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateInteractions",
    "group": "Sms_Interactions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsInteraction/index.js",
    "groupTitle": "Sms_Interactions"
  },
  {
    "type": "post",
    "url": "/api/sms/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Sms_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "read",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "messageId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "readAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "secret",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "delete",
    "url": "/api/sms/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/describe",
    "title": "Gets table info about Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "get",
    "url": "/api/sms/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "put",
    "url": "/api/sms/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Sms_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsMessage/index.js",
    "groupTitle": "Sms_Messages"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/queue",
    "title": "Creates a new Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "from",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "acceptAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exitAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "reason",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Deletes a Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/describe",
    "title": "Gets table info about Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue",
    "title": "Gets a list of Sms Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/queue?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/queue?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/queue?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/queue?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/queue?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Gets a single Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/queue/{id}",
    "title": "Update an existing Sms Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/queue/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Queue_Reports",
    "group": "Sms_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueueReport/index.js",
    "groupTitle": "Sms_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/users",
    "title": "Add agents to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Add teams to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Sms_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rrmemory\"",
              "\"beepall\"",
              "\"roundrobin\""
            ],
            "optional": true,
            "field": "strategy",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/describe",
    "title": "Gets table info about Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/members",
    "title": "GetMembers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/members  -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Gets queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "get",
    "url": "/api/sms/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "put",
    "url": "/api/sms/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Sms_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Sms_Queues"
  },
  {
    "type": "post",
    "url": "/api/sms/reports/transfer",
    "title": "Creates a new Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"account\"",
              "\"agent\"",
              "\"queue\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "transferredAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Deletes a Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/describe",
    "title": "Gets table info about Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer",
    "title": "Gets a list of Sms Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sms/reports/transfer?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sms/reports/transfer?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sms/reports/transfer?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sms/reports/transfer?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sms/reports/transfer?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Gets a single Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/sms/reports/transfer/{id}",
    "title": "Update an existing Sms Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/reports/transfer/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSms_Transfer_Reports",
    "group": "Sms_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsTransferReport/index.js",
    "groupTitle": "Sms_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/sounds",
    "title": "Gets a list of Sounds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Sounds",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/sounds?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/sounds?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/sounds?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/sounds?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/sounds?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}",
    "title": "Gets a single Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSounds",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/sounds",
    "title": "Create a new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "delete",
    "url": "/api/sounds/{id}",
    "title": "Deletes a sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "destroySound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "get",
    "url": "/api/sounds/{id}/download",
    "title": "Download Sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "put",
    "url": "/api/sounds",
    "title": "Update an existing new sound",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sounds -d '[\"name\": \"sound_name\", \"description\": \"sound_desc\"]' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSound",
    "group": "Sounds",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/sound/index.js",
    "groupTitle": "Sounds"
  },
  {
    "type": "post",
    "url": "/api/square/details/reports",
    "title": "Creates a new Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "node",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "application",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/details/reports/{id}",
    "title": "Deletes a Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/describe",
    "title": "Gets table info about Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports",
    "title": "Gets a list of Square Detail Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/details/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/details/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/details/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/details/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/details/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/details/reports/{id}",
    "title": "Gets a single Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/details/reports/{id}",
    "title": "Update an existing Square Detail Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/details/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Detail_Reports",
    "group": "Square_Details_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReportDetail/index.js",
    "groupTitle": "Square_Details_Reports"
  },
  {
    "type": "post",
    "url": "/api/square/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Square_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": false,
            "field": "body",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"in\"",
              "\"out\""
            ],
            "optional": false,
            "field": "direction",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "delete",
    "url": "/api/square/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "get",
    "url": "/api/square/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "put",
    "url": "/api/square/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Square_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareMessage/index.js",
    "groupTitle": "Square_Messages"
  },
  {
    "type": "post",
    "url": "/api/square/odbc",
    "title": "Creates a new ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateODBCs",
    "group": "Square_ODBC",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dsn",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "delete",
    "url": "/api/square/odbc/{id}",
    "title": "Deletes a ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc",
    "title": "Gets a list of ODBCs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/odbc?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/odbc?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/odbc?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/odbc?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/odbc?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}",
    "title": "Gets a single ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "get",
    "url": "/api/square/odbc/{id}/test",
    "title": "Test Odbc",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id}/test -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "test",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "put",
    "url": "/api/square/odbc/{id}",
    "title": "Update an existing ODBC",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/odbc/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateODBCs",
    "group": "Square_ODBC",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareOdbc/index.js",
    "groupTitle": "Square_ODBC"
  },
  {
    "type": "post",
    "url": "/api/square/projects",
    "title": "Creates a new Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateProjects",
    "group": "Square_Projects",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "notes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "preproduction",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "production",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}",
    "title": "Deletes a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects",
    "title": "Gets a list of Projects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/projects?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/projects?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/projects?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/projects?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/projects?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}",
    "title": "Gets a single Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/projects/{id}/users",
    "title": "Adds user permissions to a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "get",
    "url": "/api/square/projects/{id}/users",
    "title": "Gets users permissions from Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "delete",
    "url": "/api/square/projects/{id}/users",
    "title": "Removes user permissions from a Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "removeUsers",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "put",
    "url": "/api/square/projects/{id}",
    "title": "Update an existing Project",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/projects/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateProjects",
    "group": "Square_Projects",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareProject/index.js",
    "groupTitle": "Square_Projects"
  },
  {
    "type": "post",
    "url": "/api/square/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Square_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "projectName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "saveName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "filename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "savePath",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/square/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "get",
    "url": "/api/square/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "put",
    "url": "/api/square/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Square_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareRecording/index.js",
    "groupTitle": "Square_Recordings"
  },
  {
    "type": "post",
    "url": "/api/square/reports",
    "title": "Creates a new Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSquare_Reports",
    "group": "Square_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "network_script",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "request",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "version",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingani2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callington",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callingtns",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dnid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "rdnis",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "priority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "enhanced",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "threadid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "project_name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leaveAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "bot",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "delete",
    "url": "/api/square/reports/{id}",
    "title": "Deletes a Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/describe",
    "title": "Gets table info about Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports",
    "title": "Gets a list of Square Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/square/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/square/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/square/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/square/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/square/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "get",
    "url": "/api/square/reports/{id}",
    "title": "Gets a single Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "put",
    "url": "/api/square/reports/{id}",
    "title": "Update an existing Square Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/square/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSquare_Reports",
    "group": "Square_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/squareReport/index.js",
    "groupTitle": "Square_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Creates a new SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Deletes a SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations",
    "title": "Gets a list of SugarCRM Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Gets a single SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/configurations/{id}",
    "title": "Update an existing SugarCRM Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarCRM_Configurations",
    "group": "SugarCRM_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "SugarCRM_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Creates a new Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Deletes a Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts",
    "title": "Gets a list of Sugarcrm Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Gets a single Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/accounts/{id}",
    "title": "Update an existing Sugarcrm Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Accounts",
    "group": "Sugarcrm_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmAccount/index.js",
    "groupTitle": "Sugarcrm_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Sugarcrm_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmConfiguration/index.js",
    "groupTitle": "Sugarcrm_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Creates a new Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Deletes a Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields",
    "title": "Gets a list of Sugarcrm Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/sugarcrm/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/sugarcrm/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Gets a single Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/sugarcrm/fields/{id}",
    "title": "Update an existing Sugarcrm Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/sugarcrm/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateSugarcrm_Fields",
    "group": "Sugarcrm_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intSugarcrmField/index.js",
    "groupTitle": "Sugarcrm_Fields"
  },
  {
    "type": "get",
    "url": "/api/system",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "get",
    "url": "/api/system/process",
    "title": "Gets system information",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/system -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetSystemInformation",
    "group": "System_Information",
    "description": "<p>Motion returns the system information.</p>",
    "version": "0.0.0",
    "filename": "server/api/system/index.js",
    "groupTitle": "System_Information"
  },
  {
    "type": "post",
    "url": "/api/tags",
    "title": "Creates a new Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTags",
    "group": "Tags",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "color",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "delete",
    "url": "/api/tags/{id}",
    "title": "Deletes a Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags",
    "title": "Gets a list of Tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTags",
    "group": "Tags",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/tags?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/tags?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/tags?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/tags?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/tags?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "get",
    "url": "/api/tags/{id}",
    "title": "Gets a single Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "put",
    "url": "/api/tags/{id}",
    "title": "Update an existing Tag",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/tags/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTags",
    "group": "Tags",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/tag/index.js",
    "groupTitle": "Tags"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/queues",
    "title": "Add queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams",
    "title": "Creates a new Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTeams",
    "group": "Teams",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}",
    "title": "Deletes a Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/users",
    "title": "Gets agents from team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel={channel} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams",
    "title": "Gets a list of Teams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Teams",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/teams?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/teams?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/teams?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/teams?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/teams?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/users",
    "title": "Removes agents from a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/teams/{id}/queues",
    "title": "Remove queues to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/queues?channel=voice&ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/mail/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/mailQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/sms/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/smsQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/chat/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/chatQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/openchannel/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/openchannelQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "delete",
    "url": "/api/fax/queues/{id}/teams",
    "title": "Remove teams from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/faxQueue/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "get",
    "url": "/api/teams/{id}",
    "title": "Gets a single Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/teams/{id}/users",
    "title": "Adds agents to a team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAgents",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "put",
    "url": "/api/teams/{id}",
    "title": "Update an existing Team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/teams/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTeams",
    "group": "Teams",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/team/index.js",
    "groupTitle": "Teams"
  },
  {
    "type": "post",
    "url": "/api/templates",
    "title": "Creates a new Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTemplates",
    "group": "Templates",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "html",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "delete",
    "url": "/api/templates/{id}",
    "title": "Deletes a Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates",
    "title": "Gets a list of Templates",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTemplates",
    "group": "Templates",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/templates?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/templates?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/templates?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/templates?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/templates?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "get",
    "url": "/api/templates/{id}",
    "title": "Gets a single Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "put",
    "url": "/api/templates/{id}",
    "title": "Update an existing Template",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/templates/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTemplates",
    "group": "Templates",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/template/index.js",
    "groupTitle": "Templates"
  },
  {
    "type": "post",
    "url": "/api/triggers",
    "title": "Creates a new Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTriggers",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "status",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "delete",
    "url": "/api/triggers/{id}",
    "title": "Deletes a Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers",
    "title": "Gets a list of Triggers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTriggers",
    "group": "Triggers",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/triggers?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/triggers?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/triggers?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/triggers?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/triggers?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}",
    "title": "Gets a single Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/actions",
    "title": "Creates new actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -d '{\"action\": \"contactManager\",\"data1\": \"1\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAction",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "action",
            "description": "<p>Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot, script</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data1",
            "description": "<p>contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data2",
            "description": "<p>integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data3",
            "description": "<p>motionbar[NULL,NULL,WinAppArguments]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "data6",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "data7",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Creates a new \"AND\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAllCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Creates a new \"OR\"condition",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -d '{\"field\": \"name\", \"operator\": \"equal\", \"value\": \"John Doe\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAnyCondition",
    "group": "Triggers",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "field",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "value",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/actions",
    "title": "Gets Trigger Actions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/actions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getActions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/all_conditions",
    "title": "Gets \"AND\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/all_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAllConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "get",
    "url": "/api/triggers/{id}/any_conditions",
    "title": "Gets \"OR\" Trigger Conditions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id}/any_conditions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAnyConditions",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "put",
    "url": "/api/triggers/{id}",
    "title": "Update an existing Trigger",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/triggers/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTriggers",
    "group": "Triggers",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trigger/index.js",
    "groupTitle": "Triggers"
  },
  {
    "type": "post",
    "url": "/api/trunks/clone",
    "title": "Clone an existing Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/trunks",
    "title": "Create a new trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Trunks",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;alaw&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"pai\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "registry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "otherFields",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": false,
            "field": "active",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_udptl",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "delete",
    "url": "/api/trunks/{id}",
    "title": "Deletes a trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks",
    "title": "Gets a list of Trunks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTrunks",
    "group": "Trunks",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/trunks?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/trunks?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/trunks?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/trunks?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/trunks?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "get",
    "url": "/api/trunks/{id}",
    "title": "Gets a single Trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTrunks",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "put",
    "url": "/api/trunks/{id}",
    "title": "Update an existing trunk",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/trunks/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Trunks",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/trunk/index.js",
    "groupTitle": "Trunks"
  },
  {
    "type": "post",
    "url": "/api/userProfile/resources",
    "title": "Creates a new User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "resourceId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/resources/{id}",
    "title": "Deletes a User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/describe",
    "title": "Gets table info about User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources",
    "title": "Gets a list of User Profile Resources",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/resources?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/resources?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/resources?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/resources?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/resources?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "get",
    "url": "/api/userProfile/resources/{id}",
    "title": "Gets a single User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "put",
    "url": "/api/userProfile/resources/{id}",
    "title": "Update an existing User Profile Resource",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/resources/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Resources",
    "group": "User_Profile_Resources",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileResource/index.js",
    "groupTitle": "User_Profile_Resources"
  },
  {
    "type": "post",
    "url": "/api/userProfile/sections",
    "title": "Creates a new User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "category",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "sectionId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "enabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "autoAssociation",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "delete",
    "url": "/api/userProfile/sections/{id}",
    "title": "Deletes a User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/describe",
    "title": "Gets table info about User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections",
    "title": "Gets a list of User Profile Sections",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfile/sections?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfile/sections?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfile/sections?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfile/sections?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfile/sections?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "get",
    "url": "/api/userProfile/sections/{id}",
    "title": "Gets a single User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "put",
    "url": "/api/userProfile/sections/{id}",
    "title": "Update an existing User Profile Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfile/sections/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profile_Sections",
    "group": "User_Profile_Sections",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfileSection/index.js",
    "groupTitle": "User_Profile_Sections"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Add resources' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Add sections' permissions to User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections -d '[{\"sectionId\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles/clone",
    "title": "Clone an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/userProfiles",
    "title": "Creates a new User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateUser_Profiles",
    "group": "User_Profiles",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}",
    "title": "Deletes a User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/describe",
    "title": "Gets table info about User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}/resources?section={section}",
    "title": "Get Resources assigned to a Section",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?section={section} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles",
    "title": "Gets a list of User Profiles",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/userProfiles?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/userProfiles?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/userProfiles?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/userProfiles?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/userProfiles?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/resources",
    "title": "Removes resources' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/resources?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveResources",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "delete",
    "url": "/api/userProfiles/{id}/sections",
    "title": "Removes sections' permissions from User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id}/sections?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSections",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "get",
    "url": "/api/userProfiles/{id}",
    "title": "Gets a single User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "put",
    "url": "/api/userProfiles/{id}",
    "title": "Update an existing User Profile",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/userProfiles/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUser_Profiles",
    "group": "User_Profiles",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/userProfile/index.js",
    "groupTitle": "User_Profiles"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Add chat interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/chat_websites",
    "title": "Add a Chat Website to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/contacts",
    "title": "Add contacts to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -d '{\"ids\": [1,2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Add a Fax Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Add fax interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Add a Mail Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Add mail interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Add a Open Channel Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Add openchannel interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/queues",
    "title": "Add queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Add a Sms Account to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Add sms interaction tabs to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/square_projects",
    "title": "Add a Square Project to a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/teams",
    "title": "Add teams to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/create_many",
    "title": "Creates many Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "BulkCreateUsers",
    "group": "Users",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": "<p>The name of the user</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "alias",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"admin\"",
              "\"user\"",
              "\"agent\"",
              "\"telephone\""
            ],
            "optional": false,
            "field": "role",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "provider",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "internal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "salt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mobile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "address",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zipcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userpic",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "city",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "country",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "online",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastLoginAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "voicePause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chatPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mailPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "faxPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "smsPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "openchannelPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pauseType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastPauseAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "chatCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mailCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "faxCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "smsCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "openchannelCapacity",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarAutoAnswer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableSettings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarListenPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRemoteControl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarRemoteControlPort",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarRingInUse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "chanspy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "ipaddr",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "port",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "regseconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullcontact",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regserver",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "useragent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "lastms",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"friend\"",
              "\"user\"",
              "\"peer\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"ALLOWED_NOT_SCREENED\"",
              "\"ALLOWED_PASSED_SCREEN\"",
              "\"ALLOWED_FAILED_SCREEN\"",
              "\"ALLOWED\"",
              "\"PROHIB_NOT_SCREENED\"",
              "\"PROHIB_PASSED_SCREEN\"",
              "\"PROHIB_FAILED_SCREEN\"",
              "\"PROHIB\""
            ],
            "optional": true,
            "field": "callingpres",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "deny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "permit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "md5secret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remotesecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transport",
            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rfc2833\"",
              "\"info\"",
              "\"shortinfo\"",
              "\"inband\"",
              "\"auto\""
            ],
            "optional": true,
            "field": "dtmfmode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"outgoing\""
            ],
            "optional": true,
            "field": "directmedia",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "directrtpsetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediapermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "directmediadeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nat",
            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedcallgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "namedpickupgroup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "language",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tonezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "disallow",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "allow",
            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autoframing",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "insecure",
            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trustrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "trust_id_outbound",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"never\""
            ],
            "optional": true,
            "field": "progressinband",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "promiscredir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "useclientcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "setvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "callcounter",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "busylevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowoverlap",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowsubscribe",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "allowtransfer",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ignoresdpversion",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "subscribecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "template",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"always\""
            ],
            "optional": true,
            "field": "videosupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxcallbitrate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rfc2833compensate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"accept\"",
              "\"refuse\"",
              "\"originate\""
            ],
            "optional": true,
            "field": "session_timers",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_expires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "session_minse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"uac\"",
              "\"uas\""
            ],
            "optional": true,
            "field": "session_refresher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "t38pt_usertpsource",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "regexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromdomain",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fromuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "qualify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "keepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultip",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtptimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpholdtimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rtpkeepalive",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "sendrpid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "outboundproxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callbackextension",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timert1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timerb",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "qualifyfreq",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactpermit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactdeny",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "contactacl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "unsolicited_mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "use_q850_reason",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxforwards",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "encryption",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "avpf",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "force_avp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "icesupport",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "dtlsenable",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"fingerprint\"",
              "\"certificate\""
            ],
            "optional": true,
            "field": "dtlsverify",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dtlsrekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscertfile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsprivatekey",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscipher",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscafile",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlscapath",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"active\"",
              "\"passive\"",
              "\"actpass\""
            ],
            "optional": true,
            "field": "dtlssetup",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dtlsfingerprint",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "usereqphone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordonfeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordofffeature",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "call_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "registertrying",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "subscribemwi",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "vmexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohinterpret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mohsuggest",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "parkinglot",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"nonat\"",
              "\"update\"",
              "\"update,nonat\""
            ],
            "optional": true,
            "field": "canreinvite",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "loginInPause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "resetPasswordExpires",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "showWebBar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "permissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarUnconditionalNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarNoReplyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarBusyNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnconditional",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarNoReply",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarBusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarDnd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarUnansweredCallBadge",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableDtmfTone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "phoneBarAutoAnswerDelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extensionMonitor",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "crudPermissions",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "rtcp_mux",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "allowmessenger",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "phoneBarOutboundProxy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "passwordResetAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableJaws",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableScreenRecordingByAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "phoneBarEnableVideoRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarEnableAutomaticScreenRecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "phoneBarPrefixRequired",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "hotdesk",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "interface",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "privacyEnabled",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyNonce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "apiKeyIat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "screenrecording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "blocked",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "blockedAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "loginAttempts",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "disabled",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}/password",
    "title": "Change user password",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/password -d '{\"oldPassword\": \"1234\", \"newPassword\": \"5678\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "ChangePwd",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users",
    "title": "Create a new user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/api_key",
    "title": "Create a new API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}",
    "title": "Deletes a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/describe",
    "title": "Gets table info about Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/agents",
    "title": "GetAgents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/agents -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/api_key",
    "title": "Get the API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/groups",
    "title": "GetChatGroups",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/groups -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatGroups",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat/interactions",
    "title": "GetChatInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/chat_websites",
    "title": "GetChatWebsites",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/contacts",
    "title": "GetContacts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/contacts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetContacts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax_accounts",
    "title": "GetFaxAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/fax/interactions",
    "title": "GetFaxInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/lists",
    "title": "GetLists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail_accounts",
    "title": "GetMailAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/mail/interactions",
    "title": "GetMailInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "GetOpenchannelAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/openchannel/interactions",
    "title": "GetOpenchannelInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel/interactions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/prefixes",
    "title": "GetPrefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/prefixes -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues?channel={channel}",
    "title": "Gets Queues list",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues/?channel={channel} -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/recordings",
    "title": "GetRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/scheduled_calls",
    "title": "GetScheduledCalls",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/scheduled_calls -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScheduledCalls",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/screen_recordings",
    "title": "GetScreenRecordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/screen_recordings -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetScreenRecordings",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms_accounts",
    "title": "GetSmsAccounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/sms/interactions",
    "title": "GetSmsInteractions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms/interactions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/square_projects",
    "title": "GetSquareProjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/teams",
    "title": "GetTeams",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users",
    "title": "Gets a list of Users",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetUsers",
    "group": "Users",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/users?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/users?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/users?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/users?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/users?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/queues_rt",
    "title": "GetVoiceQueuesRt",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues_rt -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesRt",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/login",
    "title": "Login",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/login  -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Login",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/logout",
    "title": "Logout",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/logout -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Logout",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/pause",
    "title": "Pause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/pause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Pause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/api_key",
    "title": "Remove API access key for the user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/:id/api_key -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveApiKey",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/chat_websites",
    "title": "Removes a Chat Website from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/chat_websites?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveChatWebsites",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_accounts",
    "title": "Removes a Fax Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/fax_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/fax_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveFaxInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_accounts",
    "title": "Removes a Mail Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/mail_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/mail_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveMailInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_accounts",
    "title": "Removes a Open Channel Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/openchannel_interactions",
    "title": "Removes openchannel interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/openchannel_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveOpenchannelInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/queues",
    "title": "Remove queues to an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/queues?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveQueues",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_accounts",
    "title": "Removes a Sms Account from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_accounts?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsAccounts",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/sms_interactions",
    "title": "Removes interactions from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/sms_interactions?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSmsInteractions",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/square_projects",
    "title": "Removes a Square Project from a user",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSquareProjects",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "delete",
    "url": "/api/users/{id}/teams",
    "title": "Removes teams from an agent",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/teams?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveTeams",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}",
    "title": "Gets a single User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/unpause",
    "title": "Unpause",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/unpause -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Unpause",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/users/{id}/avatar",
    "title": "Add avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -H 'Content-Type: multipart/form-data' -F 'file=@{filename}' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "get",
    "url": "/api/users/{id}/avatar",
    "title": "Get avatar",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id}/avatar -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getAvatar",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "put",
    "url": "/api/users/{id}",
    "title": "Update an existing User",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/users/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateUsers",
    "group": "Users",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/user/index.js",
    "groupTitle": "Users"
  },
  {
    "type": "post",
    "url": "/api/variables",
    "title": "Creates a new Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVariables",
    "group": "Variables",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "delete",
    "url": "/api/variables/{id}",
    "title": "Deletes a Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables",
    "title": "Gets a list of Variables",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVariables",
    "group": "Variables",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/variables?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/variables?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/variables?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/variables?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/variables?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/variables/{id}",
    "title": "Gets a single Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "put",
    "url": "/api/variables/{id}",
    "title": "Update an existing Variable",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/variables/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVariables",
    "group": "Variables",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/variable/index.js",
    "groupTitle": "Variables"
  },
  {
    "type": "get",
    "url": "/api/version/fetch",
    "title": "Fetch git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/fetch -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "FetchVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git fetch origin master</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version",
    "title": "Gets version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVersion",
    "group": "Version",
    "description": "<p>Motion returns the current and latest motion version.</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/migrations",
    "title": "Launch database migrations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/migrations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "MigrateVersion",
    "group": "Version",
    "description": "<p>Motion launch the database migrations, according to the application version</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/pull",
    "title": "Pull git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/pull -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "PullVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git pull</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/reset",
    "title": "Reset git version",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/reset -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ResetVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: git reset --hard FETCH_HEAD</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/version/restart",
    "title": "Restart motion2 after update",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/version/restart -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "RestartVersion",
    "group": "Version",
    "description": "<p>Motion run the following command: pm2 restart motion</p>",
    "version": "0.0.0",
    "filename": "server/api/version/index.js",
    "groupTitle": "Version"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/describe",
    "title": "Gets table info about Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports",
    "title": "Gets a list of Agent Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/agents/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/agents/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/agents/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/agents/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/agents/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/agents/reports/{id}",
    "title": "Gets a single Agent Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/agents/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowAgent_Reports",
    "group": "Voice_Agent_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceAgentReport/index.js",
    "groupTitle": "Voice_Agent_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/describe",
    "title": "Gets table info about Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports",
    "title": "Gets a list of Call Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/calls/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/calls/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/calls/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/calls/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/calls/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Gets a single Call Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCall_Reports",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/calls/reports/{id}",
    "title": "Update a single cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/calls/reports/{id} -d '{\"userDispositio\": \"OK\"}' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Call_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceCallReport/index.js",
    "groupTitle": "Voice_Call_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/chanspy",
    "title": "Creates a new ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateChanSpy",
    "group": "Voice_ChanSpy",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "prefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "options",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "auth",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "record",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "recordingFormat",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "delete",
    "url": "/api/voice/chanspy/{id}",
    "title": "Deletes a ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy",
    "title": "Gets a list of ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/chanspy?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/chanspy?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/chanspy?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/chanspy?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/chanspy?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "get",
    "url": "/api/voice/chanspy/{id}",
    "title": "Gets a single ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "put",
    "url": "/api/voice/chanspy/{id}",
    "title": "Update an existing ChanSpy",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/chanspy/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateChanSpy",
    "group": "Voice_ChanSpy",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceChanSpy/index.js",
    "groupTitle": "Voice_ChanSpy"
  },
  {
    "type": "post",
    "url": "/api/voice/contexts",
    "title": "Create a new context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "Create",
    "group": "Voice_Contexts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "defaultEntry",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "delete",
    "url": "/api/voice/contexts/{id}",
    "title": "Deletes a context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "Delete",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts",
    "title": "Gets a list of Contexts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/contexts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/contexts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/contexts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/contexts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/contexts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/contexts/{id}",
    "title": "Gets a single Context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowContexts",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "put",
    "url": "/api/voice/contexts/{id}",
    "title": "Update an existing context",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/contexts/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Contexts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceContext/index.js",
    "groupTitle": "Voice_Contexts"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/describe",
    "title": "Gets table info about Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports",
    "title": "Gets a list of Dial Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/dials/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/dials/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/dials/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/dials/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/dials/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/dials/reports/{id}",
    "title": "Gets a single Dial Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/dials/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowDial_Reports",
    "group": "Voice_Dial_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceDialReport/index.js",
    "groupTitle": "Voice_Dial_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/extensions/{id}",
    "title": "Deletes a Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions",
    "title": "Gets a list of Extensions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/extensions?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/extensions?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/extensions?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/extensions?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/extensions?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "get",
    "url": "/api/voice/extensions/{id}",
    "title": "Gets a single Extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowExtensions",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create new applications",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id}/applications -d '[{\"app\": \"Set\", \"appdata\": \"CALLERDNID=${CALLER(dnid)}\"}]' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addApplications",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/extensions",
    "title": "Create an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "put",
    "url": "/api/voice/extensions/{id}",
    "title": "Update an extension",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/extensions/{id} -d '{\"exten\": \"12345\", \"context\": \"from-custom\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "update",
    "group": "Voice_Extensions",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceExtension/index.js",
    "groupTitle": "Voice_Extensions"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs",
    "title": "Create a new a new MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -d '{\"name\": \"xmas_musics\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Add sound to MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -d '{\"id\": 1}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}",
    "title": "Deletes an MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DestroyMoh",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs",
    "title": "Gets a list of Music On Holds",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mohs?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mohs?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mohs?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mohs?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mohs?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}/sounds",
    "title": "Gets sounds from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "GetSounds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "delete",
    "url": "/api/voice/mohs/{id}/sounds/{id2}",
    "title": "Remove sound from MOH",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id}/sounds/{id2} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveSound",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "get",
    "url": "/api/voice/mohs/{id}",
    "title": "Gets a single Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "put",
    "url": "/api/voice/mohs/{id}",
    "title": "Update an existing Music On Hold",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mohs/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMusic_On_Holds",
    "group": "Voice_MOHs",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMusicOnHold/index.js",
    "groupTitle": "Voice_MOHs"
  },
  {
    "type": "post",
    "url": "/api/voice/mails",
    "title": "Creates a new Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMails",
    "group": "Voice_Mails",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "customer_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "mailbox",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "fullname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "email",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "pager",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tz",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "attach",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "saycid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callback",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "review",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "operator",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "envelope",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sayduration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "saydurationm",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "sendvoicemail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "delete",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "nextaftercmd",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "forcegreetings",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": false,
            "field": "hidefromdir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "stamp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailsubject",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "emailbody",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxsecs",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "maxmsg",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/{id}",
    "title": "Deletes a Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails",
    "title": "Gets a list of Mails",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}",
    "title": "Gets a single Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/{id}/messages",
    "title": "Gets voice mail messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id}/messages -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getMessages",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/{id}",
    "title": "Update an existing Mail",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMails",
    "group": "Voice_Mails",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMail/index.js",
    "groupTitle": "Voice_Mails"
  },
  {
    "type": "post",
    "url": "/api/voice/mails/messages",
    "title": "Creates a new Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateMessages",
    "group": "Voice_Messages",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "msgnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dir",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "macrocontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "callerid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "origtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxuser",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "mailboxcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Blob",
            "optional": true,
            "field": "recording",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "flag",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "msg_id",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "stamp",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "delete",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Deletes a Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages",
    "title": "Gets a list of Messages",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/mails/messages?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/mails/messages?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/mails/messages?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/mails/messages?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/mails/messages?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Gets a single Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "get",
    "url": "voice/mails/messages/{id}/download",
    "title": "Download Voice Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}voice/mails/messages/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "put",
    "url": "/api/voice/mails/messages/{id}",
    "title": "Update an existing Message",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/mails/messages/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateMessages",
    "group": "Voice_Messages",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceMailMessage/index.js",
    "groupTitle": "Voice_Messages"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Add agents to a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}",
    "title": "Deletes a Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeletePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/describe",
    "title": "Gets table info about Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribePrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Gets agents from prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes",
    "title": "Gets a list of Prefixes",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/prefixes?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/prefixes?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/prefixes?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/prefixes?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/prefixes?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "delete",
    "url": "/api/voice/prefixes/{id}/users",
    "title": "Removes agents from a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/prefixes/{id}",
    "title": "Gets a single Prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowPrefixes",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "put",
    "url": "/api/voice/prefixes/{id}",
    "title": "Update an existing prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes/{id} -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "Update",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "post",
    "url": "/api/voice/prefixes",
    "title": "Create a prefix",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/prefixes -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "create",
    "group": "Voice_Prefixes",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voicePrefix/index.js",
    "groupTitle": "Voice_Prefixes"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/describe",
    "title": "Gets table info about Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports",
    "title": "Gets a list of Queue Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/{id}",
    "title": "Gets a single Queue Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueue_Reports",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/reports/index",
    "title": "Get Voice Queues Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/reports/index -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getVoiceQueuesReport",
    "group": "Voice_Queue_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueueReport/index.js",
    "groupTitle": "Voice_Queue_Reports"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/users",
    "title": "Add agents to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -d '{\"ids\": [1,2], \"penalty\": 2}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Add blacklists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Add lists to a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Add teams to queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "AddTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues/clone",
    "title": "Clone an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/clone -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CloneQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/queues",
    "title": "Creates a new Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateQueues",
    "group": "Voice_Queues",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"inbound\"",
              "\"outbound\""
            ],
            "optional": false,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "musiconhold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"rr\"",
              "\"ringall\"",
              "\"leastrecent\"",
              "\"fewestcalls\"",
              "\"random\"",
              "\"rrmemory\"",
              "\"linear\"",
              "\"wrandom\"",
              "\"rrordered\""
            ],
            "optional": false,
            "field": "strategy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "servicelevel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "penaltymemberslimit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "timeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "retry",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "timeoutpriority",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "weight",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "wrapuptime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autofill",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"all\""
            ],
            "optional": true,
            "field": "autopause",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "autopausedelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopausebusy",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "autopauseunavail",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "maxlen",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setinterfacevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueueentryvar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "setqueuevar",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "eventmemberstatus",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membermacro",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membergosub",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "min_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "periodic_announce_frequency",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "random_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "relative_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\"",
              "\"once\""
            ],
            "optional": true,
            "field": "announce_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "announce_position",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "announce_to_first_user",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "announce_position_limit",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"0\"",
              "\"5\"",
              "\"10\"",
              "\"15\"",
              "\"20\"",
              "\"30\""
            ],
            "optional": true,
            "field": "announce_round_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "monitor_type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_youarenext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thereare",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_callswaiting",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_holdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minute",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_minutes",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_seconds",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_thankyou",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_reporthold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_quantity2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue_less_than",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Text",
            "optional": true,
            "field": "periodic_announce",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "joinempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "leavewhenempty",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "reportholdtime",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "ringinuse",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "memberdelay",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"yes\"",
              "\"no\""
            ],
            "optional": true,
            "field": "timeoutrestart",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "defaultrule",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "acw",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "acwTimeout",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialActive",
            "description": "<p>Active/Disactive Campaign</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"preview\"",
              "\"progressive\"",
              "\"power\"",
              "\"predictive\"",
              "\"booked\""
            ],
            "optional": true,
            "field": "dialMethod",
            "description": "<p>Dial Method.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitChannel",
            "description": "<p>Max 9999 channels, 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialLimitQueue",
            "description": "<p>Max 9999 member in queue(min:1, max:9999), 0 means unlimited.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPowerLevel",
            "description": "<p>Power Level: Calls for agents (min:1, max:10).</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"agentBusyFactor\"",
              "\"dropRate\""
            ],
            "optional": true,
            "field": "dialPredictiveOptimization",
            "description": "<p>Only for predictive method.</p>"
          },
          {
            "group": "Body",
            "type": "Float",
            "optional": true,
            "field": "dialPredictiveOptimizationPercentage",
            "description": "<p>Predictive Optimization Percentage (min: 1, max: 95)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveInterval",
            "description": "<p>Interval Predictive Minutes (min:5 max:30)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialOriginateCallerIdNumber",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialOriginateTimeout",
            "description": "<p>Originate Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueOptions",
            "description": "<p>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialQueueTimeout",
            "description": "<p>Queue Timeout Seconds (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionMaxRetry",
            "description": "<p>#Congestion Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCongestionRetryFrequency",
            "description": "<p>Congestion Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyMaxRetry",
            "description": "<p>#Busy Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialBusyRetryFrequency",
            "description": "<p>Busy Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerMaxRetry",
            "description": "<p>#NoAnswer Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialNoAnswerRetryFrequency",
            "description": "<p>NoAnswer Retry Frequency Minutes (min:1, max:99999)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialGlobalMaxRetry",
            "description": "<p>#Global Max Retry (min:1, max:999)</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialTimezone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialGlobalInterval",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialPrefix",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"always\"",
              "\"never\"",
              "\"onlyIfOpen\""
            ],
            "optional": true,
            "field": "dialCheckDuplicateType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAMDActive",
            "description": "<p>Active/Disactive AMD</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDInitialSilence",
            "description": "<p>#AMD Initial Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDGreeting",
            "description": "<p>#AMD Greeting</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDAfterGreetingSilence",
            "description": "<p>#AMD After Greeting Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDTotalAnalysisTime",
            "description": "<p>#AMD Total Analysis Time</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMinWordLength",
            "description": "<p>#AMD Min Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDBetweenWordsSilence",
            "description": "<p>#AMD Between Words Silence</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumNumberOfWords",
            "description": "<p>#AMD Maximum Number Of Words</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDSilenceThreshold",
            "description": "<p>#AMD Silence Threshold (min:0, max:32767)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialAMDMaximumWordLength",
            "description": "<p>#AMD Maximum Word Length</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRecallMeTimeout",
            "description": "<p>#RecallMe Timeout (min:1)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialRecallInQueue",
            "description": "<p>Active/Disactive Recall In Queue</p>"
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"DESC\"",
              "\"ASC\""
            ],
            "optional": true,
            "field": "dialOrderByScheduledAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dialQueueProject2",
            "description": "<p>AGI queue option (use: agi://127.0.0.1/square,&lt;project_name&gt;)</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupClient",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "dialAgiAfterHangupAgent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialRandomLastDigitCallerIdNumber",
            "description": "<p>Random Last Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialCutDigit",
            "description": "<p>Cut Digit (min:1, max:15)</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "mandatoryDispositionPauseId",
            "description": "<p>Status to put when mandatory disposition is enabled</p>"
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "mandatoryDisposition",
            "description": "<p>Enabled/disables mandatory dispo on a queue</p>"
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMaxThreshold",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "dialPredictiveIntervalMinThreshold",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}",
    "title": "Deletes a Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/users",
    "title": "Gets queue agents",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Get queue blacklists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/finals",
    "title": "Gets queue hopper finals",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_finals -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperFinals",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hopper_histories",
    "title": "Gets queue hopper histories",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_histories -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHopperHistories",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/hoppers",
    "title": "Gets queue hoppers",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hoppers -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetHoppers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Get queue lists",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/members",
    "title": "Gets queue members",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/members -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "GetMembers",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues",
    "title": "Gets a list of Queues",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/queues?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/queues?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/queues?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/queues?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/queues?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/teams",
    "title": "Gets queue team",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "GetTeams",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/users",
    "title": "Removes agents from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveAgents",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/blacklists",
    "title": "Remove blacklists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/blacklists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveBlackLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "delete",
    "url": "/api/voice/queues/{id}/lists",
    "title": "Remove lists from a queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/lists?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "RemoveLists",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}",
    "title": "Gets a single Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "get",
    "url": "/api/voice/queues/{id}/blacks",
    "title": "Gets queue hopper blacks",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id}/hopper_black -v -u {name}:{password}  -X GET",
        "type": "json"
      }
    ],
    "name": "getHopperBlacks",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "put",
    "url": "/api/voice/queues/{id}",
    "title": "Update an existing Queue",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/queues/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateQueues",
    "group": "Voice_Queues",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueue/index.js",
    "groupTitle": "Voice_Queues"
  },
  {
    "type": "post",
    "url": "/api/voice/recordings",
    "title": "Creates a new Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateRecordings",
    "group": "Voice_Recordings",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "Virtual",
            "optional": true,
            "field": "format",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "membername",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "calleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "connectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "exten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "value",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": true,
            "field": "rating",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "queue",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userDisposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "createdAt",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "updatedAt",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "delete",
    "url": "/api/voice/recordings/{id}",
    "title": "Deletes a Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/describe",
    "title": "Gets table info about Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings",
    "title": "Gets a list of Recordings",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/recordings?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/recordings?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/recordings?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/recordings?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/recordings?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}",
    "title": "Gets a single Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/download",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/download -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "download",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "get",
    "url": "/api/voice/recordings/{id}/downloads",
    "title": "Download Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id}/downloads -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "downloads",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "put",
    "url": "/api/voice/recordings/{id}",
    "title": "Update an existing Recording",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/recordings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateRecordings",
    "group": "Voice_Recordings",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceRecording/index.js",
    "groupTitle": "Voice_Recordings"
  },
  {
    "type": "post",
    "url": "/api/voice/transfers/reports",
    "title": "Creates a new Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"blind\"",
              "\"attended\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "result",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereraccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transferercontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfererlinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereechannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridnum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecalleridname",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinenum",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeconnectedlinename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeaccountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereecontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereeexten",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "transfereelinkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"Yes\"",
              "\"No\""
            ],
            "optional": true,
            "field": "isexternal",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "context",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "extension",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "delete",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Deletes a Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports",
    "title": "Gets a list of Transfer Reports",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voice/transfers/reports?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voice/transfers/reports?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voice/transfers/reports?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voice/transfers/reports?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voice/transfers/reports?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "get",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Gets a single Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "put",
    "url": "/api/voice/transfers/reports/{id}",
    "title": "Update an existing Transfer Report",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voice/transfers/reports/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateTransfer_Reports",
    "group": "Voice_Transfer_Reports",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceTransferReport/index.js",
    "groupTitle": "Voice_Transfer_Reports"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Creates a new Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "moduleName",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "accessKey",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Deletes a Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts",
    "title": "Gets a list of Vtiger Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Gets a single Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/accounts/{id}",
    "title": "Update an existing Vtiger Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Accounts",
    "group": "Vtiger_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerAccount/index.js",
    "groupTitle": "Vtiger_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Creates a new Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Deletes a Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations",
    "title": "Gets a list of Vtiger Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Gets a single Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/configurations/{id}",
    "title": "Update an existing Vtiger Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Configurations",
    "group": "Vtiger_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerConfiguration/index.js",
    "groupTitle": "Vtiger_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/vtiger/fields",
    "title": "Creates a new Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVtiger_Fields",
    "group": "Vtiger_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Deletes a Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields",
    "title": "Gets a list of Vtiger Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/vtiger/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/vtiger/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/vtiger/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Gets a single Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/vtiger/fields/{id}",
    "title": "Update an existing Vtiger Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/vtiger/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVtiger_Fields",
    "group": "Vtiger_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intVtigerField/index.js",
    "groupTitle": "Vtiger_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Creates a new Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "username",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "password",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "token",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "remoteUri",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"password\"",
              "\"token\""
            ],
            "optional": true,
            "field": "authType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"integrationTab\"",
              "\"newTab\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Deletes a Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts",
    "title": "Gets a list of Zendesk Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Gets a single Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/accounts/{id}",
    "title": "Update an existing Zendesk Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Accounts",
    "group": "Zendesk_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskAccount/index.js",
    "groupTitle": "Zendesk_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Creates a new Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Deletes a Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations",
    "title": "Gets a list of Zendesk Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Gets a single Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Gets configurations tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/configurations/{id}/tags",
    "title": "Sets new tags",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id}/tags -d '{\"ids\": [1,12]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "setTags",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/configurations/{id}",
    "title": "Update an existing Zendesk Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Configurations",
    "group": "Zendesk_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskConfiguration/index.js",
    "groupTitle": "Zendesk_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zendesk/fields",
    "title": "Creates a new Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZendesk_Fields",
    "group": "Zendesk_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Deletes a Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields",
    "title": "Gets a list of Zendesk Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zendesk/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zendesk/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zendesk/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Gets a single Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zendesk/fields/{id}",
    "title": "Update an existing Zendesk Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zendesk/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZendesk_Fields",
    "group": "Zendesk_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZendeskField/index.js",
    "groupTitle": "Zendesk_Fields"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts",
    "title": "Creates a new Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Accounts",
    "group": "Zoho_Accounts",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "zone",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientId",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clientSecret",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "serverUrl",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "code",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "refreshToken",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Deletes a Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts",
    "title": "Gets a list of Zoho Accounts",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/accounts?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/accounts?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/accounts?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Gets a single Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Creates new configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -d '{\"name\": \"conf1\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "addConfiguration",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/configurations",
    "title": "Gets account configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/configurations -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getConfigurations",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/accounts/{id}/fields",
    "title": "Gets account fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/accounts/{id}",
    "title": "Update an existing Zoho Account",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/accounts/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Accounts",
    "group": "Zoho_Accounts",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoAccount/index.js",
    "groupTitle": "Zoho_Accounts"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/configurations",
    "title": "Creates a new Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Configurations",
    "group": "Zoho_Configurations",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "name",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "description",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Deletes a Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations",
    "title": "Gets a list of Zoho Configurations",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/configurations?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/configurations?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/configurations?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Gets a single Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/descriptions",
    "title": "Gets configurations descriptions",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/descriptions -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getDescriptions",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/fields",
    "title": "Gets configurations fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/fields -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getFields",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/configurations/{id}/subjects",
    "title": "Gets configurations subjects",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id}/subjects -v -u {name}:{password} -X GET",
        "type": "json"
      }
    ],
    "name": "getSubjects",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/configurations/{id}",
    "title": "Update an existing Zoho Configuration",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/configurations/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Configurations",
    "group": "Zoho_Configurations",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoConfiguration/index.js",
    "groupTitle": "Zoho_Configurations"
  },
  {
    "type": "post",
    "url": "/api/integrations/zoho/fields",
    "title": "Creates a new Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateZoho_Fields",
    "group": "Zoho_Fields",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\"",
              "\"keyValue\""
            ],
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "content",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "key",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "allowedValues": [
              "\"string\"",
              "\"variable\"",
              "\"customVariable\""
            ],
            "optional": true,
            "field": "keyType",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "keyContent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "idField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "nameField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Boolean",
            "optional": true,
            "field": "customField",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "variableName",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "delete",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Deletes a Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields",
    "title": "Gets a list of Zoho Fields",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/integrations/zoho/fields?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/integrations/zoho/fields?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/integrations/zoho/fields?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/integrations/zoho/fields?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/integrations/zoho/fields?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "get",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Gets a single Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "put",
    "url": "/api/integrations/zoho/fields/{id}",
    "title": "Update an existing Zoho Field",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/integrations/zoho/fields/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateZoho_Fields",
    "group": "Zoho_Fields",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/intZohoField/index.js",
    "groupTitle": "Zoho_Fields"
  },
  {
    "type": "post",
    "url": "/api/cdr",
    "title": "Creates a new Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateCdrs",
    "group": "cdr",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "calldate",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "clid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "src",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dst",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dcontext",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "channel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "dstchannel",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastapp",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "lastdata",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "duration",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "billsec",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "disposition",
            "description": ""
          },
          {
            "group": "Body",
            "type": "Integer",
            "optional": false,
            "field": "amaflags",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "accountcode",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "userfield",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "uniqueid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "linkedid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "sequence",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "peeraccount",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "type",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "tag",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "delete",
    "url": "/api/cdr/{id}",
    "title": "Deletes a Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/describe",
    "title": "Gets table info about Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/describe -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "DescribeCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr",
    "title": "Gets a list of Cdrs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetCdrs",
    "group": "cdr",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cdr?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cdr?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cdr?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cdr?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cdr?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "get",
    "url": "/api/cdr/{id}",
    "title": "Gets a single Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "put",
    "url": "/api/cdr/{id}",
    "title": "Update an existing Cdr",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/cdr/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateCdrs",
    "group": "cdr",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/cdr/index.js",
    "groupTitle": "cdr"
  },
  {
    "type": "post",
    "url": "/api/voiceQueuesLog",
    "title": "Creates a new VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
        "type": "json"
      }
    ],
    "name": "CreateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "parameter": {
      "fields": {
        "Body": [
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "time",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "callid",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "queuename",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "agent",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "event",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data1",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data2",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data3",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data4",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "data5",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": false,
            "field": "dtm",
            "description": ""
          }
        ]
      }
    },
    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "delete",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Deletes a VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password} -X DELETE",
        "type": "json"
      }
    ],
    "name": "DeleteVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog",
    "title": "Gets a list of VoiceQueuesLogs",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "GetVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/voiceQueuesLog?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/voiceQueuesLog?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/voiceQueuesLog?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/voiceQueuesLog?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/voiceQueuesLog?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "get",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Gets a single VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -v -u {name}:{password}",
        "type": "json"
      }
    ],
    "name": "ShowVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  },
  {
    "type": "put",
    "url": "/api/voiceQueuesLog/{id}",
    "title": "Update an existing VoiceQueuesLog",
    "examples": [
      {
        "title": "Example usage:",
        "content": "curl https://{domain}/api/voiceQueuesLog/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
        "type": "json"
      }
    ],
    "name": "updateVoiceQueuesLogs",
    "group": "voiceQueuesLog",
    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
    "version": "0.0.0",
    "filename": "server/api/voiceQueuesLog/index.js",
    "groupTitle": "voiceQueuesLog"
  }
]
diff --git a/apidoc/api_project.js b/apidoc/api_project.js
index a45e9a3..26bf6bd 100644
--- a/apidoc/api_project.js
+++ b/apidoc/api_project.js
@@ -1 +1 @@
-define({
  "name": "xCALLY Motion API",
  "version": "2.4.4",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre><code class=\"language-sh\">GET /api/users\n</code></pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre><code class=\"language-sh\">https://motion.xcally.com/api/users\n</code></pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre><code class=\"language-sh\">GET  /api/users/{id}\n</code></pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</code></pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -H &quot;Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo&quot; https://motion.xcally.com/api/users\n</code></pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</code></pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-01-28T17:39:19.407Z",
    "url": "http://apidocjs.com",
    "version": "0.17.7"
  }
});
+define({
  "name": "xCALLY Motion API",
  "version": "2.4.5",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre><code class=\"language-sh\">GET /api/users\n</code></pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre><code class=\"language-sh\">https://motion.xcally.com/api/users\n</code></pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre><code class=\"language-sh\">GET  /api/users/{id}\n</code></pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</code></pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -H &quot;Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo&quot; https://motion.xcally.com/api/users\n</code></pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</code></pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-01-30T11:34:31.641Z",
    "url": "http://apidocjs.com",
    "version": "0.17.7"
  }
});
diff --git a/apidoc/api_project.json b/apidoc/api_project.json
index 9b60c2e..bfb39df 100644
--- a/apidoc/api_project.json
+++ b/apidoc/api_project.json
@@ -1 +1 @@
-{
  "name": "xCALLY Motion API",
  "version": "2.4.4",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre><code class=\"language-sh\">GET /api/users\n</code></pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre><code class=\"language-sh\">https://motion.xcally.com/api/users\n</code></pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre><code class=\"language-sh\">GET  /api/users/{id}\n</code></pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</code></pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -H &quot;Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo&quot; https://motion.xcally.com/api/users\n</code></pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</code></pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-01-28T17:39:19.407Z",
    "url": "http://apidocjs.com",
    "version": "0.17.7"
  }
}
+{
  "name": "xCALLY Motion API",
  "version": "2.4.5",
  "description": "Thank you for choosing xCALLY MOTION, one of the first Omni Channel solution integrated with AsteriskTM and the most innovative real time solutions available on the market.",
  "title": "xCALLY MOTION API",
  "header": {
    "title": "Introduction",
    "content": "<h2>The API</h2>\n<p>This is the documentation for the xCALLY MOTION API.</p>\n<p>We make changes to the APIs from time to time. For more information, see <a href=\"https://wiki.xcallymotion.com/display/XMV/Motion+GUI\">Changelog</a>.</p>\n<p>The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.</p>\n<p>The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].</p>\n<p>Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:</p>\n<pre><code class=\"language-sh\">GET /api/users\n</code></pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre><code class=\"language-sh\">https://motion.xcally.com/api/users\n</code></pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre><code class=\"language-sh\">GET  /api/users/{id}\n</code></pre>\n<p>The examples in the docs are cURL statements. You can run the statements on a command line to try out different API requests. To learn more, see [Installing and using cURL]. In Windows, you'll need to modify some of the examples in the docs to make them work. See [Using cURL in Windows].</p>\n<p>The examples use basic authentication requiring a xCALLY username and password.</p>\n<h2>Security and Authentication</h2>\n<p>This is an SSL-only API, regardless of how your account is configured. You can authorize against the API using either basic authentication with your username and password or with an OAuth access token or API Key.</p>\n<p>Client-side CORS requests are supported if the request is authenticated with an OAuth access token. The requests are not supported if the request uses basic authentication or API Key.</p>\n<h3>Basic authentication</h3>\n<p>Use the following authentication format with your username and password:\n<code>{username}:{password}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</code></pre>\n<h3>OAuth access token</h3>\n<p>The xCALLY API supports OAuth authorization flows.</p>\n<p>OAuth access tokens also permit client-side API requests.</p>\n<p>In your requests, specify the access token in an Authorization header as follows:\n<code>Authorization: Bearer {token}</code></p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl -H &quot;Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo&quot; https://motion.xcally.com/api/users\n</code></pre>\n<h3>API Key</h3>\n<p>In your request, specify the API Key in apikey query parameter</p>\n<p>Example:</p>\n<pre><code class=\"language-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</code></pre>\n<h2>Request Format</h2>\n<p>The xCALLY API is a JSON API. You must supply a <code>Content-Type: application/json</code> header in <code>PUT</code> and <code>POST</code> requests. You must set an <code>Accept: application/json</code> header on all requests. You may get a <code>text/plain</code> response in case of an error like a bad request. You should treat this as an error you need to fix.</p>\n<h2>Response Format</h2>\n<p>The xCALLY API responds to successful requests with HTTP status codes in the 200 or 300 range. When you create or update a resource, the API renders the resulting JSON representation in the response body.</p>\n<p>Responses may have the status codes described in the following sections.</p>\n<h3>200 range</h3>\n<p>The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.</p>\n<h3>400 range</h3>\n<p>The request was not successful. The content type of the response may be <code>text/plain</code> for API-level error messages, such as when trying to call the API without SSL. The content type is <code>application/json</code> for business-level error messages because the response includes a JSON object with information about the error.</p>\n<p>If you see a response from a known endpoint that looks like plain text, you probably made a syntax error in your request. This type of response commonly occurs when making a request to a nonexistent xCALLY Support instance.</p>\n<h3>500 range</h3>\n<p>When building an API client, we recommend treating any 500 status codes as a warning or temporary state. However, if the status persists and we don't have a publicly announced maintenance or service disruption, contact us at [email-masked].</p>\n<p>If submitting a ticket to Support, provide the complete HTTP response. This helps the Support team track down the request in the logs more quickly.</p>\n<h2>Data Types</h2>\n<p>The API returns and accepts JSON values, which can be strings in double quotes, numbers, objects, arrays, true or false, or null. Most programming languages have tools to parse this data.</p>\n<h2>ID integers</h2>\n<p>Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.</p>\n<p>The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.</p>\n<h2>Time stamps</h2>\n<p>Time stamps use UTC time and are formatted as ISO 8601 strings. Example: <code>2017-04-16T09:14:57Z</code></p>\n"
  },
  "template": {
    "withGenerator": false,
    "withCompare": false,
    "forceLanguage": "en"
  },
  "sampleUrl": false,
  "defaultVersion": "0.0.0",
  "apidoc": "0.3.0",
  "generator": {
    "name": "apidoc",
    "time": "2020-01-30T11:34:31.641Z",
    "url": "http://apidocjs.com",
    "version": "0.17.7"
  }
}
diff --git a/package.json b/package.json
index 0397a8f..d6982cf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
     "name": "motion",
-    "version": "2.4.4",
+    "version": "2.4.5",
     "description": "xCALLY Motion is the new Realtime asynchronous solution for your multichannel contact center over Asterisk.",
     "main": "server/app.js",
     "engines": {
diff --git a/public/index.html b/public/index.html
index 5c00bb2..f767dc8 100644
--- a/public/index.html
+++ b/public/index.html
@@ -58,7 +58,7 @@
 
     <script src="scripts/vendor.d37e6038.js"></script>
 
-    <script src="scripts/app.6d6e8949.js"></script>
+    <script src="scripts/app.be861090.js"></script>
 
     <!-- CKEDITOR -->
     <script src="assets/plugins/ckeditor/ckeditor.js"></script>
diff --git a/public/scripts/app.6d6e8949.js b/public/scripts/app.6d6e8949.js
deleted file mode 100644
index d4f123c..0000000
--- a/public/scripts/app.6d6e8949.js
+++ /dev/null
@@ -1 +0,0 @@
\ No newline at end of file
diff --git a/public/scripts/app.be861090.js b/public/scripts/app.be861090.js
new file mode 100644
index 0000000..2541de5
--- /dev/null
+++ b/public/scripts/app.be861090.js
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/server/api/action/action.attributes.js b/server/api/action/action.attributes.js
index 8a0b889..e6827e4 100644
--- a/server/api/action/action.attributes.js
+++ b/server/api/action/action.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.controller.js b/server/api/action/action.controller.js
index 22f26bb..6c59263 100644
--- a/server/api/action/action.controller.js
+++ b/server/api/action/action.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.model.js b/server/api/action/action.model.js
index 7af5e21..cb6203b 100644
--- a/server/api/action/action.model.js
+++ b/server/api/action/action.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/action.rpc.js b/server/api/action/action.rpc.js
index 180dda2..42f4e2a 100644
--- a/server/api/action/action.rpc.js
+++ b/server/api/action/action.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/action/index.js b/server/api/action/index.js
index beba953..867a02c 100644
--- a/server/api/action/index.js
+++ b/server/api/action/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.attributes.js b/server/api/analyticCustomReport/analyticCustomReport.attributes.js
index ad47791..ebf7881 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.attributes.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.controller.js b/server/api/analyticCustomReport/analyticCustomReport.controller.js
index 10849b0..58b01c0 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.controller.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.model.js b/server/api/analyticCustomReport/analyticCustomReport.model.js
index f7e36fb..0f1a993 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.model.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/analyticCustomReport.rpc.js b/server/api/analyticCustomReport/analyticCustomReport.rpc.js
index 5c0474a..0bc705a 100644
--- a/server/api/analyticCustomReport/analyticCustomReport.rpc.js
+++ b/server/api/analyticCustomReport/analyticCustomReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticCustomReport/index.js b/server/api/analyticCustomReport/index.js
index 0d06557..53e3139 100644
--- a/server/api/analyticCustomReport/index.js
+++ b/server/api/analyticCustomReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js b/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
index 8e61460..0102bf8 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.controller.js b/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
index 4b1c41b..b1b7c5a 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.model.js b/server/api/analyticDefaultReport/analyticDefaultReport.model.js
index be7c7f7..8c2dc75 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.model.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js b/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js
index 5434585..74d3d9e 100644
--- a/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js
+++ b/server/api/analyticDefaultReport/analyticDefaultReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticDefaultReport/index.js b/server/api/analyticDefaultReport/index.js
index 32d2c88..72b7f9e 100644
--- a/server/api/analyticDefaultReport/index.js
+++ b/server/api/analyticDefaultReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js b/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
index b0aa459..7fff99a 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.controller.js b/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
index d949ebe..8095c02 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.model.js b/server/api/analyticExtractedReport/analyticExtractedReport.model.js
index afe9194..9c8d2ef 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.model.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js b/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js
index c163284..1e17074 100644
--- a/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js
+++ b/server/api/analyticExtractedReport/analyticExtractedReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticExtractedReport/index.js b/server/api/analyticExtractedReport/index.js
index 9dac098..c72db63 100644
--- a/server/api/analyticExtractedReport/index.js
+++ b/server/api/analyticExtractedReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.attributes.js b/server/api/analyticFieldReport/analyticFieldReport.attributes.js
index e781dac..1ca3261 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.attributes.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.controller.js b/server/api/analyticFieldReport/analyticFieldReport.controller.js
index 33b2ab5..e6847dd 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.controller.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.model.js b/server/api/analyticFieldReport/analyticFieldReport.model.js
index 3f930f6..4023a4d 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.model.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/analyticFieldReport.rpc.js b/server/api/analyticFieldReport/analyticFieldReport.rpc.js
index 073aee6..a5ac66e 100644
--- a/server/api/analyticFieldReport/analyticFieldReport.rpc.js
+++ b/server/api/analyticFieldReport/analyticFieldReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticFieldReport/index.js b/server/api/analyticFieldReport/index.js
index d8203c3..bb16631 100644
--- a/server/api/analyticFieldReport/index.js
+++ b/server/api/analyticFieldReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.attributes.js b/server/api/analyticMetric/analyticMetric.attributes.js
index f329e10..4825f39 100644
--- a/server/api/analyticMetric/analyticMetric.attributes.js
+++ b/server/api/analyticMetric/analyticMetric.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.controller.js b/server/api/analyticMetric/analyticMetric.controller.js
index 34d32fc..1d8a2ec 100644
--- a/server/api/analyticMetric/analyticMetric.controller.js
+++ b/server/api/analyticMetric/analyticMetric.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.model.js b/server/api/analyticMetric/analyticMetric.model.js
index 13ff788..cdfcb67 100644
--- a/server/api/analyticMetric/analyticMetric.model.js
+++ b/server/api/analyticMetric/analyticMetric.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/analyticMetric.rpc.js b/server/api/analyticMetric/analyticMetric.rpc.js
index 6e5a947..9e70de8 100644
--- a/server/api/analyticMetric/analyticMetric.rpc.js
+++ b/server/api/analyticMetric/analyticMetric.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticMetric/index.js b/server/api/analyticMetric/index.js
index d434205..29bdefd 100644
--- a/server/api/analyticMetric/index.js
+++ b/server/api/analyticMetric/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.attributes.js b/server/api/analyticTreeReport/analyticTreeReport.attributes.js
index 41dfcc7..7dff855 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.attributes.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x1975=['TEXT','exports'];(function(_0x2962b4,_0x4b0786){var _0x411b7d=function(_0x363aad){while(--_0x363aad){_0x2962b4['push'](_0x2962b4['shift']());}};_0x411b7d(++_0x4b0786);}(_0x1975,0xed));var _0x5197=function(_0x21dd50,_0x921f70){_0x21dd50=_0x21dd50-0x0;var _0x1b7d5e=_0x1975[_0x21dd50];return _0x1b7d5e;};'use strict';var Sequelize=require('sequelize');module[_0x5197('0x0')]={'tree':{'type':Sequelize[_0x5197('0x1')],'allowNull':![]}};
\ No newline at end of file
+var _0xd563=['sequelize','exports','TEXT'];(function(_0x5954a2,_0x254e70){var _0x272c87=function(_0x5885ee){while(--_0x5885ee){_0x5954a2['push'](_0x5954a2['shift']());}};_0x272c87(++_0x254e70);}(_0xd563,0x1e6));var _0x3d56=function(_0x5102cd,_0x466781){_0x5102cd=_0x5102cd-0x0;var _0x224afa=_0xd563[_0x5102cd];return _0x224afa;};'use strict';var Sequelize=require(_0x3d56('0x0'));module[_0x3d56('0x1')]={'tree':{'type':Sequelize[_0x3d56('0x2')],'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.controller.js b/server/api/analyticTreeReport/analyticTreeReport.controller.js
index 816c2a4..0df7d50 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.controller.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.model.js b/server/api/analyticTreeReport/analyticTreeReport.model.js
index b6dfb7b..5328156 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.model.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/analyticTreeReport.rpc.js b/server/api/analyticTreeReport/analyticTreeReport.rpc.js
index 2b0ed05..3550401 100644
--- a/server/api/analyticTreeReport/analyticTreeReport.rpc.js
+++ b/server/api/analyticTreeReport/analyticTreeReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/analyticTreeReport/index.js b/server/api/analyticTreeReport/index.js
index f847e85..de8f63c 100644
--- a/server/api/analyticTreeReport/index.js
+++ b/server/api/analyticTreeReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.attributes.js b/server/api/attachment/attachment.attributes.js
index 385ac08..ca0b529 100644
--- a/server/api/attachment/attachment.attributes.js
+++ b/server/api/attachment/attachment.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.controller.js b/server/api/attachment/attachment.controller.js
index a5e0729..50c13eb 100644
--- a/server/api/attachment/attachment.controller.js
+++ b/server/api/attachment/attachment.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.model.js b/server/api/attachment/attachment.model.js
index 0c910b5..d348da7 100644
--- a/server/api/attachment/attachment.model.js
+++ b/server/api/attachment/attachment.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/attachment.rpc.js b/server/api/attachment/attachment.rpc.js
index b00e8f2..4f6b235 100644
--- a/server/api/attachment/attachment.rpc.js
+++ b/server/api/attachment/attachment.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/attachment/index.js b/server/api/attachment/index.js
index 677ea16..c4547e6 100644
--- a/server/api/attachment/index.js
+++ b/server/api/attachment/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authGoogle/authGoogle.controller.js b/server/api/authGoogle/authGoogle.controller.js
index 607bcb8..df9ce8e 100644
--- a/server/api/authGoogle/authGoogle.controller.js
+++ b/server/api/authGoogle/authGoogle.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authGoogle/index.js b/server/api/authGoogle/index.js
index 000413e..fcb9e1f 100644
--- a/server/api/authGoogle/index.js
+++ b/server/api/authGoogle/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authLocal/authLocal.controller.js b/server/api/authLocal/authLocal.controller.js
index 583956c..ce061e7 100644
--- a/server/api/authLocal/authLocal.controller.js
+++ b/server/api/authLocal/authLocal.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/authLocal/index.js b/server/api/authLocal/index.js
index f93d4e0..736bb6b 100644
--- a/server/api/authLocal/index.js
+++ b/server/api/authLocal/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.attributes.js b/server/api/automation/automation.attributes.js
index 33d4a86..c495e5c 100644
--- a/server/api/automation/automation.attributes.js
+++ b/server/api/automation/automation.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.controller.js b/server/api/automation/automation.controller.js
index e9d30ca..d94b19a 100644
--- a/server/api/automation/automation.controller.js
+++ b/server/api/automation/automation.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.model.js b/server/api/automation/automation.model.js
index 24094f2..f0d1a7c 100644
--- a/server/api/automation/automation.model.js
+++ b/server/api/automation/automation.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/automation.rpc.js b/server/api/automation/automation.rpc.js
index c6bfe94..bb72d6b 100644
--- a/server/api/automation/automation.rpc.js
+++ b/server/api/automation/automation.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/automation/index.js b/server/api/automation/index.js
index bc9fe1e..32c4a55 100644
--- a/server/api/automation/index.js
+++ b/server/api/automation/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.attributes.js b/server/api/campaign/campaign.attributes.js
index 2d395f7..34dc220 100644
--- a/server/api/campaign/campaign.attributes.js
+++ b/server/api/campaign/campaign.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.controller.js b/server/api/campaign/campaign.controller.js
index 1922d43..43f60c7 100644
--- a/server/api/campaign/campaign.controller.js
+++ b/server/api/campaign/campaign.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.model.js b/server/api/campaign/campaign.model.js
index ac2e48e..57e00ab 100644
--- a/server/api/campaign/campaign.model.js
+++ b/server/api/campaign/campaign.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/campaign.rpc.js b/server/api/campaign/campaign.rpc.js
index de83839..3e3b68c 100644
--- a/server/api/campaign/campaign.rpc.js
+++ b/server/api/campaign/campaign.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/campaign/index.js b/server/api/campaign/index.js
index ce231b7..0563b14 100644
--- a/server/api/campaign/index.js
+++ b/server/api/campaign/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.attributes.js b/server/api/cannedAnswer/cannedAnswer.attributes.js
index 2635ca1..9205f8e 100644
--- a/server/api/cannedAnswer/cannedAnswer.attributes.js
+++ b/server/api/cannedAnswer/cannedAnswer.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.controller.js b/server/api/cannedAnswer/cannedAnswer.controller.js
index 755fbe8..c0642f0 100644
--- a/server/api/cannedAnswer/cannedAnswer.controller.js
+++ b/server/api/cannedAnswer/cannedAnswer.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.model.js b/server/api/cannedAnswer/cannedAnswer.model.js
index 91cbfa8..f5f02dd 100644
--- a/server/api/cannedAnswer/cannedAnswer.model.js
+++ b/server/api/cannedAnswer/cannedAnswer.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/cannedAnswer.rpc.js b/server/api/cannedAnswer/cannedAnswer.rpc.js
index d20d293..9190029 100644
--- a/server/api/cannedAnswer/cannedAnswer.rpc.js
+++ b/server/api/cannedAnswer/cannedAnswer.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cannedAnswer/index.js b/server/api/cannedAnswer/index.js
index 27a7168..d2e494f 100644
--- a/server/api/cannedAnswer/index.js
+++ b/server/api/cannedAnswer/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.attributes.js b/server/api/cdr/cdr.attributes.js
index 7a9e34e..56e4568 100644
--- a/server/api/cdr/cdr.attributes.js
+++ b/server/api/cdr/cdr.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.controller.js b/server/api/cdr/cdr.controller.js
index d128d7d..d3d806b 100644
--- a/server/api/cdr/cdr.controller.js
+++ b/server/api/cdr/cdr.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.model.js b/server/api/cdr/cdr.model.js
index f8b1a9c..26a0c41 100644
--- a/server/api/cdr/cdr.model.js
+++ b/server/api/cdr/cdr.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/cdr.rpc.js b/server/api/cdr/cdr.rpc.js
index 9864c4a..26ba8c3 100644
--- a/server/api/cdr/cdr.rpc.js
+++ b/server/api/cdr/cdr.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cdr/index.js b/server/api/cdr/index.js
index e07d40e..f7a4bf7 100644
--- a/server/api/cdr/index.js
+++ b/server/api/cdr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.attributes.js b/server/api/chatApplication/chatApplication.attributes.js
index bc9f8d2..e1e5fbd 100644
--- a/server/api/chatApplication/chatApplication.attributes.js
+++ b/server/api/chatApplication/chatApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.controller.js b/server/api/chatApplication/chatApplication.controller.js
index 91d9057..d06a62f 100644
--- a/server/api/chatApplication/chatApplication.controller.js
+++ b/server/api/chatApplication/chatApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.model.js b/server/api/chatApplication/chatApplication.model.js
index 5347ba7..50ff1a0 100644
--- a/server/api/chatApplication/chatApplication.model.js
+++ b/server/api/chatApplication/chatApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/chatApplication.rpc.js b/server/api/chatApplication/chatApplication.rpc.js
index 4720864..1a5c02f 100644
--- a/server/api/chatApplication/chatApplication.rpc.js
+++ b/server/api/chatApplication/chatApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatApplication/index.js b/server/api/chatApplication/index.js
index da942ef..3742a34 100644
--- a/server/api/chatApplication/index.js
+++ b/server/api/chatApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.attributes.js b/server/api/chatGroup/chatGroup.attributes.js
index 419487e..ed72515 100644
--- a/server/api/chatGroup/chatGroup.attributes.js
+++ b/server/api/chatGroup/chatGroup.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.controller.js b/server/api/chatGroup/chatGroup.controller.js
index c3f7d9d..1bbe237 100644
--- a/server/api/chatGroup/chatGroup.controller.js
+++ b/server/api/chatGroup/chatGroup.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.events.js b/server/api/chatGroup/chatGroup.events.js
index 60ba9f8..bf09a8f 100644
--- a/server/api/chatGroup/chatGroup.events.js
+++ b/server/api/chatGroup/chatGroup.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.model.js b/server/api/chatGroup/chatGroup.model.js
index 0af2a46..ae59dd2 100644
--- a/server/api/chatGroup/chatGroup.model.js
+++ b/server/api/chatGroup/chatGroup.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.rpc.js b/server/api/chatGroup/chatGroup.rpc.js
index ad70ff4..d3e5ce1 100644
--- a/server/api/chatGroup/chatGroup.rpc.js
+++ b/server/api/chatGroup/chatGroup.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/chatGroup.socket.js b/server/api/chatGroup/chatGroup.socket.js
index 4c5daff..f9c5e11 100644
--- a/server/api/chatGroup/chatGroup.socket.js
+++ b/server/api/chatGroup/chatGroup.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatGroup/index.js b/server/api/chatGroup/index.js
index b35120c..14abd6d 100644
--- a/server/api/chatGroup/index.js
+++ b/server/api/chatGroup/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.attributes.js b/server/api/chatInteraction/chatInteraction.attributes.js
index 010c501..ead1897 100644
--- a/server/api/chatInteraction/chatInteraction.attributes.js
+++ b/server/api/chatInteraction/chatInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.controller.js b/server/api/chatInteraction/chatInteraction.controller.js
index 90045a8..6bfff30 100644
--- a/server/api/chatInteraction/chatInteraction.controller.js
+++ b/server/api/chatInteraction/chatInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.events.js b/server/api/chatInteraction/chatInteraction.events.js
index 96dbec2..644f9a2 100644
--- a/server/api/chatInteraction/chatInteraction.events.js
+++ b/server/api/chatInteraction/chatInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.model.js b/server/api/chatInteraction/chatInteraction.model.js
index 4b929ad..7e5d87d 100644
--- a/server/api/chatInteraction/chatInteraction.model.js
+++ b/server/api/chatInteraction/chatInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.rpc.js b/server/api/chatInteraction/chatInteraction.rpc.js
index 5795aa7..2ec0ee8 100644
--- a/server/api/chatInteraction/chatInteraction.rpc.js
+++ b/server/api/chatInteraction/chatInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/chatInteraction.socket.js b/server/api/chatInteraction/chatInteraction.socket.js
index c640b0b..7dacde9 100644
--- a/server/api/chatInteraction/chatInteraction.socket.js
+++ b/server/api/chatInteraction/chatInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInteraction/index.js b/server/api/chatInteraction/index.js
index 73e4842..ad2c7e2 100644
--- a/server/api/chatInteraction/index.js
+++ b/server/api/chatInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.attributes.js b/server/api/chatInternalMessage/chatInternalMessage.attributes.js
index a56e02c..9bfd52f 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.attributes.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.controller.js b/server/api/chatInternalMessage/chatInternalMessage.controller.js
index 81902f3..a899b56 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.controller.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.events.js b/server/api/chatInternalMessage/chatInternalMessage.events.js
index 89da35b..d5d3d4b 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.events.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.model.js b/server/api/chatInternalMessage/chatInternalMessage.model.js
index 0ad3bce..fc43383 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.model.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.rpc.js b/server/api/chatInternalMessage/chatInternalMessage.rpc.js
index 2f8857a..acbc8ab 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.rpc.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/chatInternalMessage.socket.js b/server/api/chatInternalMessage/chatInternalMessage.socket.js
index 607f53a..4983a97 100644
--- a/server/api/chatInternalMessage/chatInternalMessage.socket.js
+++ b/server/api/chatInternalMessage/chatInternalMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatInternalMessage/index.js b/server/api/chatInternalMessage/index.js
index de1f161..b41a147 100644
--- a/server/api/chatInternalMessage/index.js
+++ b/server/api/chatInternalMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.attributes.js b/server/api/chatMessage/chatMessage.attributes.js
index 92d3c0e..434b35c 100644
--- a/server/api/chatMessage/chatMessage.attributes.js
+++ b/server/api/chatMessage/chatMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.controller.js b/server/api/chatMessage/chatMessage.controller.js
index 1dbc4ff..ee34d87 100644
--- a/server/api/chatMessage/chatMessage.controller.js
+++ b/server/api/chatMessage/chatMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.events.js b/server/api/chatMessage/chatMessage.events.js
index 0b12d28..74a7504 100644
--- a/server/api/chatMessage/chatMessage.events.js
+++ b/server/api/chatMessage/chatMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.model.js b/server/api/chatMessage/chatMessage.model.js
index c841c84..64d8f0a 100644
--- a/server/api/chatMessage/chatMessage.model.js
+++ b/server/api/chatMessage/chatMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.rpc.js b/server/api/chatMessage/chatMessage.rpc.js
index c81db5a..25170e3 100644
--- a/server/api/chatMessage/chatMessage.rpc.js
+++ b/server/api/chatMessage/chatMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/chatMessage.socket.js b/server/api/chatMessage/chatMessage.socket.js
index c88e31b..758ecda 100644
--- a/server/api/chatMessage/chatMessage.socket.js
+++ b/server/api/chatMessage/chatMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatMessage/index.js b/server/api/chatMessage/index.js
index d9aba6b..2a4f34b 100644
--- a/server/api/chatMessage/index.js
+++ b/server/api/chatMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js b/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
index b8d00af..09c6eb3 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x38b4=['TEXT','sequelize'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0x38b4,0x6d));var _0x438b=function(_0x18a79d,_0x57bd2c){_0x18a79d=_0x18a79d-0x0;var _0x4f8848=_0x38b4[_0x18a79d];return _0x4f8848;};'use strict';var Sequelize=require(_0x438b('0x0'));module['exports']={'body':{'type':Sequelize[_0x438b('0x1')]('medium'),'allowNull':![]}};
\ No newline at end of file
+var _0xe801=['medium','sequelize','exports','TEXT'];(function(_0x595324,_0x5c25fc){var _0x506510=function(_0x52bc6f){while(--_0x52bc6f){_0x595324['push'](_0x595324['shift']());}};_0x506510(++_0x5c25fc);}(_0xe801,0x195));var _0x1e80=function(_0xa5e1b8,_0x1f3c88){_0xa5e1b8=_0xa5e1b8-0x0;var _0x55ea8a=_0xe801[_0xa5e1b8];return _0x55ea8a;};'use strict';var Sequelize=require(_0x1e80('0x0'));module[_0x1e80('0x1')]={'body':{'type':Sequelize[_0x1e80('0x2')](_0x1e80('0x3')),'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
index 55c45ed..401a74f 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.model.js b/server/api/chatOfflineMessage/chatOfflineMessage.model.js
index 74c91ed..4bc61c4 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.model.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js b/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js
index b71b6f3..ce84d8b 100644
--- a/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js
+++ b/server/api/chatOfflineMessage/chatOfflineMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/index.js b/server/api/chatOfflineMessage/index.js
index 327f470..8e621a7 100644
--- a/server/api/chatOfflineMessage/index.js
+++ b/server/api/chatOfflineMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.attributes.js b/server/api/chatProactiveAction/chatProactiveAction.attributes.js
index 53e83f3..c2eb359 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.attributes.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.controller.js b/server/api/chatProactiveAction/chatProactiveAction.controller.js
index 881f0d1..5018643 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.controller.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.model.js b/server/api/chatProactiveAction/chatProactiveAction.model.js
index 9f598da..6189ca9 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.model.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/chatProactiveAction.rpc.js b/server/api/chatProactiveAction/chatProactiveAction.rpc.js
index 3bb74d7..a3d1264 100644
--- a/server/api/chatProactiveAction/chatProactiveAction.rpc.js
+++ b/server/api/chatProactiveAction/chatProactiveAction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatProactiveAction/index.js b/server/api/chatProactiveAction/index.js
index 54a82ff..b3825e7 100644
--- a/server/api/chatProactiveAction/index.js
+++ b/server/api/chatProactiveAction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.attributes.js b/server/api/chatQueue/chatQueue.attributes.js
index 8390851..261c85c 100644
--- a/server/api/chatQueue/chatQueue.attributes.js
+++ b/server/api/chatQueue/chatQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.controller.js b/server/api/chatQueue/chatQueue.controller.js
index ea24192..fd61c05 100644
--- a/server/api/chatQueue/chatQueue.controller.js
+++ b/server/api/chatQueue/chatQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.events.js b/server/api/chatQueue/chatQueue.events.js
index b3849f1..6e4b910 100644
--- a/server/api/chatQueue/chatQueue.events.js
+++ b/server/api/chatQueue/chatQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.model.js b/server/api/chatQueue/chatQueue.model.js
index a26b1cf..d7aa43c 100644
--- a/server/api/chatQueue/chatQueue.model.js
+++ b/server/api/chatQueue/chatQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.rpc.js b/server/api/chatQueue/chatQueue.rpc.js
index 4cbc7fd..fd2af8c 100644
--- a/server/api/chatQueue/chatQueue.rpc.js
+++ b/server/api/chatQueue/chatQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/chatQueue.socket.js b/server/api/chatQueue/chatQueue.socket.js
index 83754bb..1b49d17 100644
--- a/server/api/chatQueue/chatQueue.socket.js
+++ b/server/api/chatQueue/chatQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueue/index.js b/server/api/chatQueue/index.js
index 1cb16e3..b4cfe8b 100644
--- a/server/api/chatQueue/index.js
+++ b/server/api/chatQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.attributes.js b/server/api/chatQueueReport/chatQueueReport.attributes.js
index 5bbc840..66362df 100644
--- a/server/api/chatQueueReport/chatQueueReport.attributes.js
+++ b/server/api/chatQueueReport/chatQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.controller.js b/server/api/chatQueueReport/chatQueueReport.controller.js
index bb3b383..1eab45f 100644
--- a/server/api/chatQueueReport/chatQueueReport.controller.js
+++ b/server/api/chatQueueReport/chatQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.model.js b/server/api/chatQueueReport/chatQueueReport.model.js
index 43396db..3dbb2a9 100644
--- a/server/api/chatQueueReport/chatQueueReport.model.js
+++ b/server/api/chatQueueReport/chatQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/chatQueueReport.rpc.js b/server/api/chatQueueReport/chatQueueReport.rpc.js
index 112fb69..0eef5aa 100644
--- a/server/api/chatQueueReport/chatQueueReport.rpc.js
+++ b/server/api/chatQueueReport/chatQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatQueueReport/index.js b/server/api/chatQueueReport/index.js
index eb7b64e..1794d82 100644
--- a/server/api/chatQueueReport/index.js
+++ b/server/api/chatQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.attributes.js b/server/api/chatTransferReport/chatTransferReport.attributes.js
index 53bf963..7766d9e 100644
--- a/server/api/chatTransferReport/chatTransferReport.attributes.js
+++ b/server/api/chatTransferReport/chatTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.controller.js b/server/api/chatTransferReport/chatTransferReport.controller.js
index 29c82e6..ae5cdb0 100644
--- a/server/api/chatTransferReport/chatTransferReport.controller.js
+++ b/server/api/chatTransferReport/chatTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.model.js b/server/api/chatTransferReport/chatTransferReport.model.js
index 7dea7cc..34958c2 100644
--- a/server/api/chatTransferReport/chatTransferReport.model.js
+++ b/server/api/chatTransferReport/chatTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/chatTransferReport.rpc.js b/server/api/chatTransferReport/chatTransferReport.rpc.js
index c0855f3..cc4e5ac 100644
--- a/server/api/chatTransferReport/chatTransferReport.rpc.js
+++ b/server/api/chatTransferReport/chatTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatTransferReport/index.js b/server/api/chatTransferReport/index.js
index 86adc1a..131a86e 100644
--- a/server/api/chatTransferReport/index.js
+++ b/server/api/chatTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.attributes.js b/server/api/chatWebsite/chatWebsite.attributes.js
index 01a65ea..e7da53e 100644
--- a/server/api/chatWebsite/chatWebsite.attributes.js
+++ b/server/api/chatWebsite/chatWebsite.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.controller.js b/server/api/chatWebsite/chatWebsite.controller.js
index 42d9212..bcb0014 100644
--- a/server/api/chatWebsite/chatWebsite.controller.js
+++ b/server/api/chatWebsite/chatWebsite.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.events.js b/server/api/chatWebsite/chatWebsite.events.js
index 224f992..1909c48 100644
--- a/server/api/chatWebsite/chatWebsite.events.js
+++ b/server/api/chatWebsite/chatWebsite.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.model.js b/server/api/chatWebsite/chatWebsite.model.js
index d8c214d..ba8febd 100644
--- a/server/api/chatWebsite/chatWebsite.model.js
+++ b/server/api/chatWebsite/chatWebsite.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.rpc.js b/server/api/chatWebsite/chatWebsite.rpc.js
index fe2910a..cba6c86 100644
--- a/server/api/chatWebsite/chatWebsite.rpc.js
+++ b/server/api/chatWebsite/chatWebsite.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/chatWebsite.socket.js b/server/api/chatWebsite/chatWebsite.socket.js
index 0f6c5f0..a7b7307 100644
--- a/server/api/chatWebsite/chatWebsite.socket.js
+++ b/server/api/chatWebsite/chatWebsite.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/chatWebsite/index.js b/server/api/chatWebsite/index.js
index b8d5ef6..6dcca82 100644
--- a/server/api/chatWebsite/index.js
+++ b/server/api/chatWebsite/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.attributes.js b/server/api/cmCompany/cmCompany.attributes.js
index 70ef57a..ca672dc 100644
--- a/server/api/cmCompany/cmCompany.attributes.js
+++ b/server/api/cmCompany/cmCompany.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.controller.js b/server/api/cmCompany/cmCompany.controller.js
index 914dbab..b97f96d 100644
--- a/server/api/cmCompany/cmCompany.controller.js
+++ b/server/api/cmCompany/cmCompany.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.model.js b/server/api/cmCompany/cmCompany.model.js
index b23c1e5..ce7323a 100644
--- a/server/api/cmCompany/cmCompany.model.js
+++ b/server/api/cmCompany/cmCompany.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/cmCompany.rpc.js b/server/api/cmCompany/cmCompany.rpc.js
index aba02b8..85e9606 100644
--- a/server/api/cmCompany/cmCompany.rpc.js
+++ b/server/api/cmCompany/cmCompany.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCompany/index.js b/server/api/cmCompany/index.js
index d26a6ca..c3fb0bc 100644
--- a/server/api/cmCompany/index.js
+++ b/server/api/cmCompany/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.attributes.js b/server/api/cmContact/cmContact.attributes.js
index e6e1eee..0de2ec6 100644
--- a/server/api/cmContact/cmContact.attributes.js
+++ b/server/api/cmContact/cmContact.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.controller.js b/server/api/cmContact/cmContact.controller.js
index 1a916c7..45c168d 100644
--- a/server/api/cmContact/cmContact.controller.js
+++ b/server/api/cmContact/cmContact.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.events.js b/server/api/cmContact/cmContact.events.js
index b4dbf3a..214b641 100644
--- a/server/api/cmContact/cmContact.events.js
+++ b/server/api/cmContact/cmContact.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.model.js b/server/api/cmContact/cmContact.model.js
index 851d810..0db6d3b 100644
--- a/server/api/cmContact/cmContact.model.js
+++ b/server/api/cmContact/cmContact.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.rpc.js b/server/api/cmContact/cmContact.rpc.js
index 9892197..4d2410f 100644
--- a/server/api/cmContact/cmContact.rpc.js
+++ b/server/api/cmContact/cmContact.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/cmContact.socket.js b/server/api/cmContact/cmContact.socket.js
index 3360f25..9415d6f 100644
--- a/server/api/cmContact/cmContact.socket.js
+++ b/server/api/cmContact/cmContact.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmContact/index.js b/server/api/cmContact/index.js
index 13dde91..2b72b4a 100644
--- a/server/api/cmContact/index.js
+++ b/server/api/cmContact/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.attributes.js b/server/api/cmCustomField/cmCustomField.attributes.js
index 98803dc..36d279d 100644
--- a/server/api/cmCustomField/cmCustomField.attributes.js
+++ b/server/api/cmCustomField/cmCustomField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.controller.js b/server/api/cmCustomField/cmCustomField.controller.js
index 7e88d2d..1ff2d2e 100644
--- a/server/api/cmCustomField/cmCustomField.controller.js
+++ b/server/api/cmCustomField/cmCustomField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.model.js b/server/api/cmCustomField/cmCustomField.model.js
index 2ede165..4b5e157 100644
--- a/server/api/cmCustomField/cmCustomField.model.js
+++ b/server/api/cmCustomField/cmCustomField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/cmCustomField.rpc.js b/server/api/cmCustomField/cmCustomField.rpc.js
index ef441f3..4fbf3d5 100644
--- a/server/api/cmCustomField/cmCustomField.rpc.js
+++ b/server/api/cmCustomField/cmCustomField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmCustomField/index.js b/server/api/cmCustomField/index.js
index 1285dbf..935f336 100644
--- a/server/api/cmCustomField/index.js
+++ b/server/api/cmCustomField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.attributes.js b/server/api/cmHopper/cmHopper.attributes.js
index 0af95b0..56db82d 100644
--- a/server/api/cmHopper/cmHopper.attributes.js
+++ b/server/api/cmHopper/cmHopper.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.controller.js b/server/api/cmHopper/cmHopper.controller.js
index 89e7296..c60622f 100644
--- a/server/api/cmHopper/cmHopper.controller.js
+++ b/server/api/cmHopper/cmHopper.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.model.js b/server/api/cmHopper/cmHopper.model.js
index 604a496..d00b8d1 100644
--- a/server/api/cmHopper/cmHopper.model.js
+++ b/server/api/cmHopper/cmHopper.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/cmHopper.rpc.js b/server/api/cmHopper/cmHopper.rpc.js
index bb83724..d68c5be 100644
--- a/server/api/cmHopper/cmHopper.rpc.js
+++ b/server/api/cmHopper/cmHopper.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopper/index.js b/server/api/cmHopper/index.js
index 1005fa2..0248b37 100644
--- a/server/api/cmHopper/index.js
+++ b/server/api/cmHopper/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.attributes.js b/server/api/cmHopperBlack/cmHopperBlack.attributes.js
index 58de2e4..da8b859 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.attributes.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.controller.js b/server/api/cmHopperBlack/cmHopperBlack.controller.js
index e98697b..796966f 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.controller.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.model.js b/server/api/cmHopperBlack/cmHopperBlack.model.js
index 4521dd9..1bb6453 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.model.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/cmHopperBlack.rpc.js b/server/api/cmHopperBlack/cmHopperBlack.rpc.js
index fc22d46..76f40c9 100644
--- a/server/api/cmHopperBlack/cmHopperBlack.rpc.js
+++ b/server/api/cmHopperBlack/cmHopperBlack.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperBlack/index.js b/server/api/cmHopperBlack/index.js
index 6122285..03bb6be 100644
--- a/server/api/cmHopperBlack/index.js
+++ b/server/api/cmHopperBlack/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.attributes.js b/server/api/cmHopperFinal/cmHopperFinal.attributes.js
index 86a0212..79a4722 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.attributes.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.controller.js b/server/api/cmHopperFinal/cmHopperFinal.controller.js
index 5ac5906..369d3b5 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.controller.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.model.js b/server/api/cmHopperFinal/cmHopperFinal.model.js
index 66db8ec..b2ebe79 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.model.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/cmHopperFinal.rpc.js b/server/api/cmHopperFinal/cmHopperFinal.rpc.js
index 5f6d2a3..2c2775e 100644
--- a/server/api/cmHopperFinal/cmHopperFinal.rpc.js
+++ b/server/api/cmHopperFinal/cmHopperFinal.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperFinal/index.js b/server/api/cmHopperFinal/index.js
index 5586b7e..66d4158 100644
--- a/server/api/cmHopperFinal/index.js
+++ b/server/api/cmHopperFinal/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.attributes.js b/server/api/cmHopperHistory/cmHopperHistory.attributes.js
index b7b37f9..9d8b90b 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.attributes.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.controller.js b/server/api/cmHopperHistory/cmHopperHistory.controller.js
index c5b3165..c2f4a67 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.controller.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.model.js b/server/api/cmHopperHistory/cmHopperHistory.model.js
index ef406b9..b8e5d32 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.model.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/cmHopperHistory.rpc.js b/server/api/cmHopperHistory/cmHopperHistory.rpc.js
index 808625c..9fb4c8d 100644
--- a/server/api/cmHopperHistory/cmHopperHistory.rpc.js
+++ b/server/api/cmHopperHistory/cmHopperHistory.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmHopperHistory/index.js b/server/api/cmHopperHistory/index.js
index 26c244f..067765f 100644
--- a/server/api/cmHopperHistory/index.js
+++ b/server/api/cmHopperHistory/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.attributes.js b/server/api/cmList/cmList.attributes.js
index 41b52ba..33d8678 100644
--- a/server/api/cmList/cmList.attributes.js
+++ b/server/api/cmList/cmList.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.controller.js b/server/api/cmList/cmList.controller.js
index 0c0ba7f..2378510 100644
--- a/server/api/cmList/cmList.controller.js
+++ b/server/api/cmList/cmList.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.events.js b/server/api/cmList/cmList.events.js
index 70ab7bd..ca321b1 100644
--- a/server/api/cmList/cmList.events.js
+++ b/server/api/cmList/cmList.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.model.js b/server/api/cmList/cmList.model.js
index cef04ab..eb86dd1 100644
--- a/server/api/cmList/cmList.model.js
+++ b/server/api/cmList/cmList.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.rpc.js b/server/api/cmList/cmList.rpc.js
index e697f7d..b3f04f9 100644
--- a/server/api/cmList/cmList.rpc.js
+++ b/server/api/cmList/cmList.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/cmList.socket.js b/server/api/cmList/cmList.socket.js
index 5a28b70..b7312d6 100644
--- a/server/api/cmList/cmList.socket.js
+++ b/server/api/cmList/cmList.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/cmList/index.js b/server/api/cmList/index.js
index 86464b4..2963020 100644
--- a/server/api/cmList/index.js
+++ b/server/api/cmList/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.attributes.js b/server/api/condition/condition.attributes.js
index 08d6d0a..9df6ca1 100644
--- a/server/api/condition/condition.attributes.js
+++ b/server/api/condition/condition.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.controller.js b/server/api/condition/condition.controller.js
index 4559733..98ac250 100644
--- a/server/api/condition/condition.controller.js
+++ b/server/api/condition/condition.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.model.js b/server/api/condition/condition.model.js
index a800c15..08e10ef 100644
--- a/server/api/condition/condition.model.js
+++ b/server/api/condition/condition.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/condition.rpc.js b/server/api/condition/condition.rpc.js
index 6d1da1d..bed9ad3 100644
--- a/server/api/condition/condition.rpc.js
+++ b/server/api/condition/condition.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/condition/index.js b/server/api/condition/index.js
index 93a9820..e079ac4 100644
--- a/server/api/condition/index.js
+++ b/server/api/condition/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.attributes.js b/server/api/dashboard/dashboard.attributes.js
index 0978290..1a0b6e0 100644
--- a/server/api/dashboard/dashboard.attributes.js
+++ b/server/api/dashboard/dashboard.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.controller.js b/server/api/dashboard/dashboard.controller.js
index 7ce5887..474107b 100644
--- a/server/api/dashboard/dashboard.controller.js
+++ b/server/api/dashboard/dashboard.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.events.js b/server/api/dashboard/dashboard.events.js
index 93ffc72..c21af3e 100644
--- a/server/api/dashboard/dashboard.events.js
+++ b/server/api/dashboard/dashboard.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.model.js b/server/api/dashboard/dashboard.model.js
index 83af9ca..eedf1fd 100644
--- a/server/api/dashboard/dashboard.model.js
+++ b/server/api/dashboard/dashboard.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.rpc.js b/server/api/dashboard/dashboard.rpc.js
index fbbee4b..f198416 100644
--- a/server/api/dashboard/dashboard.rpc.js
+++ b/server/api/dashboard/dashboard.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.socket.js b/server/api/dashboard/dashboard.socket.js
index cc3fb2f..b349fee 100644
--- a/server/api/dashboard/dashboard.socket.js
+++ b/server/api/dashboard/dashboard.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboard/index.js b/server/api/dashboard/index.js
index 3d700b5..33b58d4 100644
--- a/server/api/dashboard/index.js
+++ b/server/api/dashboard/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.attributes.js b/server/api/dashboardItem/dashboardItem.attributes.js
index 7d8889e..c137be4 100644
--- a/server/api/dashboardItem/dashboardItem.attributes.js
+++ b/server/api/dashboardItem/dashboardItem.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.controller.js b/server/api/dashboardItem/dashboardItem.controller.js
index b5889f1..bcf62e1 100644
--- a/server/api/dashboardItem/dashboardItem.controller.js
+++ b/server/api/dashboardItem/dashboardItem.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.events.js b/server/api/dashboardItem/dashboardItem.events.js
index f6337a1..3e73a88 100644
--- a/server/api/dashboardItem/dashboardItem.events.js
+++ b/server/api/dashboardItem/dashboardItem.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.model.js b/server/api/dashboardItem/dashboardItem.model.js
index f88d8ed..9b5f022 100644
--- a/server/api/dashboardItem/dashboardItem.model.js
+++ b/server/api/dashboardItem/dashboardItem.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.rpc.js b/server/api/dashboardItem/dashboardItem.rpc.js
index ab95fd9..aaafd50 100644
--- a/server/api/dashboardItem/dashboardItem.rpc.js
+++ b/server/api/dashboardItem/dashboardItem.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/dashboardItem.socket.js b/server/api/dashboardItem/dashboardItem.socket.js
index c78e3aa..da7832f 100644
--- a/server/api/dashboardItem/dashboardItem.socket.js
+++ b/server/api/dashboardItem/dashboardItem.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/dashboardItem/index.js b/server/api/dashboardItem/index.js
index ad2a97c..6ace084 100644
--- a/server/api/dashboardItem/index.js
+++ b/server/api/dashboardItem/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.attributes.js b/server/api/disposition/disposition.attributes.js
index 83509df..4e2cf9a 100644
--- a/server/api/disposition/disposition.attributes.js
+++ b/server/api/disposition/disposition.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x1931=['sequelize','exports','STRING'];(function(_0x1780f8,_0x11ba93){var _0x33a410=function(_0x2a015f){while(--_0x2a015f){_0x1780f8['push'](_0x1780f8['shift']());}};_0x33a410(++_0x11ba93);}(_0x1931,0x7e));var _0x1193=function(_0x12f2fb,_0x39119b){_0x12f2fb=_0x12f2fb-0x0;var _0x327391=_0x1931[_0x12f2fb];return _0x327391;};'use strict';var Sequelize=require(_0x1193('0x0'));module[_0x1193('0x1')]={'name':{'type':Sequelize[_0x1193('0x2')],'allowNull':![]}};
\ No newline at end of file
+var _0x6a92=['sequelize'];(function(_0x437a8e,_0x2744c6){var _0x58e374=function(_0x2fa4d4){while(--_0x2fa4d4){_0x437a8e['push'](_0x437a8e['shift']());}};_0x58e374(++_0x2744c6);}(_0x6a92,0xf7));var _0x26a9=function(_0x25d386,_0x108d0d){_0x25d386=_0x25d386-0x0;var _0x857f4a=_0x6a92[_0x25d386];return _0x857f4a;};'use strict';var Sequelize=require(_0x26a9('0x0'));module['exports']={'name':{'type':Sequelize['STRING'],'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/disposition/disposition.controller.js b/server/api/disposition/disposition.controller.js
index 735bfce..43bccea 100644
--- a/server/api/disposition/disposition.controller.js
+++ b/server/api/disposition/disposition.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.model.js b/server/api/disposition/disposition.model.js
index 227dd04..79bb9fb 100644
--- a/server/api/disposition/disposition.model.js
+++ b/server/api/disposition/disposition.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/disposition.rpc.js b/server/api/disposition/disposition.rpc.js
index a1e2b52..10ec2d6 100644
--- a/server/api/disposition/disposition.rpc.js
+++ b/server/api/disposition/disposition.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/disposition/index.js b/server/api/disposition/index.js
index 585cd0e..2fbe352 100644
--- a/server/api/disposition/index.js
+++ b/server/api/disposition/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.attributes.js b/server/api/faxAccount/faxAccount.attributes.js
index 57fc5a5..807ded9 100644
--- a/server/api/faxAccount/faxAccount.attributes.js
+++ b/server/api/faxAccount/faxAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.controller.js b/server/api/faxAccount/faxAccount.controller.js
index 577c0e3..eea077b 100644
--- a/server/api/faxAccount/faxAccount.controller.js
+++ b/server/api/faxAccount/faxAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.events.js b/server/api/faxAccount/faxAccount.events.js
index dc383c7..86f675d 100644
--- a/server/api/faxAccount/faxAccount.events.js
+++ b/server/api/faxAccount/faxAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.model.js b/server/api/faxAccount/faxAccount.model.js
index 4cd4661..fc464c5 100644
--- a/server/api/faxAccount/faxAccount.model.js
+++ b/server/api/faxAccount/faxAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.rpc.js b/server/api/faxAccount/faxAccount.rpc.js
index 369a3a1..614a42f 100644
--- a/server/api/faxAccount/faxAccount.rpc.js
+++ b/server/api/faxAccount/faxAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/faxAccount.socket.js b/server/api/faxAccount/faxAccount.socket.js
index f4e792c..9a2166d 100644
--- a/server/api/faxAccount/faxAccount.socket.js
+++ b/server/api/faxAccount/faxAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxAccount/index.js b/server/api/faxAccount/index.js
index b4db219..3d4bbfc 100644
--- a/server/api/faxAccount/index.js
+++ b/server/api/faxAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.attributes.js b/server/api/faxApplication/faxApplication.attributes.js
index 5f4322f..d3f35ed 100644
--- a/server/api/faxApplication/faxApplication.attributes.js
+++ b/server/api/faxApplication/faxApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.controller.js b/server/api/faxApplication/faxApplication.controller.js
index 76ffab6..a5b8828 100644
--- a/server/api/faxApplication/faxApplication.controller.js
+++ b/server/api/faxApplication/faxApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.model.js b/server/api/faxApplication/faxApplication.model.js
index 0885224..e88631f 100644
--- a/server/api/faxApplication/faxApplication.model.js
+++ b/server/api/faxApplication/faxApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/faxApplication.rpc.js b/server/api/faxApplication/faxApplication.rpc.js
index 79ebfae..6995a2b 100644
--- a/server/api/faxApplication/faxApplication.rpc.js
+++ b/server/api/faxApplication/faxApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxApplication/index.js b/server/api/faxApplication/index.js
index 77ea2a2..080b17d 100644
--- a/server/api/faxApplication/index.js
+++ b/server/api/faxApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.attributes.js b/server/api/faxInteraction/faxInteraction.attributes.js
index 1e07dc9..44377d0 100644
--- a/server/api/faxInteraction/faxInteraction.attributes.js
+++ b/server/api/faxInteraction/faxInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.controller.js b/server/api/faxInteraction/faxInteraction.controller.js
index cafca4e..a9ea2a8 100644
--- a/server/api/faxInteraction/faxInteraction.controller.js
+++ b/server/api/faxInteraction/faxInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.events.js b/server/api/faxInteraction/faxInteraction.events.js
index 85c9ad6..82d3fd4 100644
--- a/server/api/faxInteraction/faxInteraction.events.js
+++ b/server/api/faxInteraction/faxInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.model.js b/server/api/faxInteraction/faxInteraction.model.js
index b49e229..491cd79 100644
--- a/server/api/faxInteraction/faxInteraction.model.js
+++ b/server/api/faxInteraction/faxInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.rpc.js b/server/api/faxInteraction/faxInteraction.rpc.js
index 57ad7f0..d58919d 100644
--- a/server/api/faxInteraction/faxInteraction.rpc.js
+++ b/server/api/faxInteraction/faxInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/faxInteraction.socket.js b/server/api/faxInteraction/faxInteraction.socket.js
index bd16211..924b1ee 100644
--- a/server/api/faxInteraction/faxInteraction.socket.js
+++ b/server/api/faxInteraction/faxInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxInteraction/index.js b/server/api/faxInteraction/index.js
index a7d70ae..7ca2e3c 100644
--- a/server/api/faxInteraction/index.js
+++ b/server/api/faxInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.attributes.js b/server/api/faxMessage/faxMessage.attributes.js
index a269e71..1458af4 100644
--- a/server/api/faxMessage/faxMessage.attributes.js
+++ b/server/api/faxMessage/faxMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.controller.js b/server/api/faxMessage/faxMessage.controller.js
index 06d4334..b22c34e 100644
--- a/server/api/faxMessage/faxMessage.controller.js
+++ b/server/api/faxMessage/faxMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.events.js b/server/api/faxMessage/faxMessage.events.js
index 54b6b87..358a6b3 100644
--- a/server/api/faxMessage/faxMessage.events.js
+++ b/server/api/faxMessage/faxMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.model.js b/server/api/faxMessage/faxMessage.model.js
index c6e1b95..8aeb115 100644
--- a/server/api/faxMessage/faxMessage.model.js
+++ b/server/api/faxMessage/faxMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.rpc.js b/server/api/faxMessage/faxMessage.rpc.js
index 5b8dd15..5130113 100644
--- a/server/api/faxMessage/faxMessage.rpc.js
+++ b/server/api/faxMessage/faxMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/faxMessage.socket.js b/server/api/faxMessage/faxMessage.socket.js
index 0e0f2ae..98112ba 100644
--- a/server/api/faxMessage/faxMessage.socket.js
+++ b/server/api/faxMessage/faxMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxMessage/index.js b/server/api/faxMessage/index.js
index 89446b2..644c87e 100644
--- a/server/api/faxMessage/index.js
+++ b/server/api/faxMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.attributes.js b/server/api/faxQueue/faxQueue.attributes.js
index 589e31c..1f601c2 100644
--- a/server/api/faxQueue/faxQueue.attributes.js
+++ b/server/api/faxQueue/faxQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.controller.js b/server/api/faxQueue/faxQueue.controller.js
index ec2d00e..3cf5754 100644
--- a/server/api/faxQueue/faxQueue.controller.js
+++ b/server/api/faxQueue/faxQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.events.js b/server/api/faxQueue/faxQueue.events.js
index df89303..a4cee24 100644
--- a/server/api/faxQueue/faxQueue.events.js
+++ b/server/api/faxQueue/faxQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.model.js b/server/api/faxQueue/faxQueue.model.js
index 9f239a5..5b0af6c 100644
--- a/server/api/faxQueue/faxQueue.model.js
+++ b/server/api/faxQueue/faxQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.rpc.js b/server/api/faxQueue/faxQueue.rpc.js
index e06c1b9..41b104d 100644
--- a/server/api/faxQueue/faxQueue.rpc.js
+++ b/server/api/faxQueue/faxQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/faxQueue.socket.js b/server/api/faxQueue/faxQueue.socket.js
index 28dbab0..4c3b6ba 100644
--- a/server/api/faxQueue/faxQueue.socket.js
+++ b/server/api/faxQueue/faxQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueue/index.js b/server/api/faxQueue/index.js
index bfdbea9..8fb1639 100644
--- a/server/api/faxQueue/index.js
+++ b/server/api/faxQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.attributes.js b/server/api/faxQueueReport/faxQueueReport.attributes.js
index b780e63..617d470 100644
--- a/server/api/faxQueueReport/faxQueueReport.attributes.js
+++ b/server/api/faxQueueReport/faxQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.controller.js b/server/api/faxQueueReport/faxQueueReport.controller.js
index 3a425bc..921bb5c 100644
--- a/server/api/faxQueueReport/faxQueueReport.controller.js
+++ b/server/api/faxQueueReport/faxQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.model.js b/server/api/faxQueueReport/faxQueueReport.model.js
index 747cf8c..062eef9 100644
--- a/server/api/faxQueueReport/faxQueueReport.model.js
+++ b/server/api/faxQueueReport/faxQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/faxQueueReport.rpc.js b/server/api/faxQueueReport/faxQueueReport.rpc.js
index de27c90..5003953 100644
--- a/server/api/faxQueueReport/faxQueueReport.rpc.js
+++ b/server/api/faxQueueReport/faxQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxQueueReport/index.js b/server/api/faxQueueReport/index.js
index ce9dfff..7400745 100644
--- a/server/api/faxQueueReport/index.js
+++ b/server/api/faxQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.attributes.js b/server/api/faxTransferReport/faxTransferReport.attributes.js
index 6f5fd4b..d268206 100644
--- a/server/api/faxTransferReport/faxTransferReport.attributes.js
+++ b/server/api/faxTransferReport/faxTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.controller.js b/server/api/faxTransferReport/faxTransferReport.controller.js
index 2f3082e..4de147a 100644
--- a/server/api/faxTransferReport/faxTransferReport.controller.js
+++ b/server/api/faxTransferReport/faxTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.model.js b/server/api/faxTransferReport/faxTransferReport.model.js
index 6c77e97..ab44f1d 100644
--- a/server/api/faxTransferReport/faxTransferReport.model.js
+++ b/server/api/faxTransferReport/faxTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/faxTransferReport.rpc.js b/server/api/faxTransferReport/faxTransferReport.rpc.js
index e104629..e287c6a 100644
--- a/server/api/faxTransferReport/faxTransferReport.rpc.js
+++ b/server/api/faxTransferReport/faxTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/faxTransferReport/index.js b/server/api/faxTransferReport/index.js
index 17e9f46..5cf32b2 100644
--- a/server/api/faxTransferReport/index.js
+++ b/server/api/faxTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/index.js b/server/api/intDeskAccount/index.js
index b673a66..5eecc71 100644
--- a/server/api/intDeskAccount/index.js
+++ b/server/api/intDeskAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.attributes.js b/server/api/intDeskAccount/intDeskAccount.attributes.js
index 3a6d260..497579d 100644
--- a/server/api/intDeskAccount/intDeskAccount.attributes.js
+++ b/server/api/intDeskAccount/intDeskAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.controller.js b/server/api/intDeskAccount/intDeskAccount.controller.js
index 46e3cdb..190ddfe 100644
--- a/server/api/intDeskAccount/intDeskAccount.controller.js
+++ b/server/api/intDeskAccount/intDeskAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.model.js b/server/api/intDeskAccount/intDeskAccount.model.js
index a617dc4..7ce309b 100644
--- a/server/api/intDeskAccount/intDeskAccount.model.js
+++ b/server/api/intDeskAccount/intDeskAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskAccount/intDeskAccount.rpc.js b/server/api/intDeskAccount/intDeskAccount.rpc.js
index 0234f06..7d4f860 100644
--- a/server/api/intDeskAccount/intDeskAccount.rpc.js
+++ b/server/api/intDeskAccount/intDeskAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/index.js b/server/api/intDeskConfiguration/index.js
index 147f604..6e67add 100644
--- a/server/api/intDeskConfiguration/index.js
+++ b/server/api/intDeskConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js b/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
index e55b3e3..4817502 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x3d46=['exports','STRING','sequelize'];(function(_0x11aa0,_0xfb7ffa){var _0x205390=function(_0x47205b){while(--_0x47205b){_0x11aa0['push'](_0x11aa0['shift']());}};_0x205390(++_0xfb7ffa);}(_0x3d46,0xe9));var _0x63d4=function(_0x9ab5f3,_0x5a1dd3){_0x9ab5f3=_0x9ab5f3-0x0;var _0x345a91=_0x3d46[_0x9ab5f3];return _0x345a91;};'use strict';var Sequelize=require(_0x63d4('0x0'));module[_0x63d4('0x1')]={'name':{'type':Sequelize[_0x63d4('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0x0ab0=['sequelize','STRING'];(function(_0x33e3c3,_0x225ffe){var _0x224fc1=function(_0x43188c){while(--_0x43188c){_0x33e3c3['push'](_0x33e3c3['shift']());}};_0x224fc1(++_0x225ffe);}(_0x0ab0,0xf4));var _0x00ab=function(_0x27fd4c,_0x42d9a4){_0x27fd4c=_0x27fd4c-0x0;var _0x54657c=_0x0ab0[_0x27fd4c];return _0x54657c;};'use strict';var Sequelize=require(_0x00ab('0x0'));module['exports']={'name':{'type':Sequelize[_0x00ab('0x1')]},'description':{'type':Sequelize[_0x00ab('0x1')]}};
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
index 84060f9..68a4581 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.model.js b/server/api/intDeskConfiguration/intDeskConfiguration.model.js
index ae08cca..bae1366 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.model.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js b/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js
index 7898b1b..4da1e5c 100644
--- a/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js
+++ b/server/api/intDeskConfiguration/intDeskConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/index.js b/server/api/intDeskField/index.js
index 3d955d6..c79709e 100644
--- a/server/api/intDeskField/index.js
+++ b/server/api/intDeskField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.attributes.js b/server/api/intDeskField/intDeskField.attributes.js
index 48cf32d..9d03815 100644
--- a/server/api/intDeskField/intDeskField.attributes.js
+++ b/server/api/intDeskField/intDeskField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.controller.js b/server/api/intDeskField/intDeskField.controller.js
index 2ead0c1..cdf187d 100644
--- a/server/api/intDeskField/intDeskField.controller.js
+++ b/server/api/intDeskField/intDeskField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.model.js b/server/api/intDeskField/intDeskField.model.js
index 437c341..5494943 100644
--- a/server/api/intDeskField/intDeskField.model.js
+++ b/server/api/intDeskField/intDeskField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDeskField/intDeskField.rpc.js b/server/api/intDeskField/intDeskField.rpc.js
index f909a04..9dfc5db 100644
--- a/server/api/intDeskField/intDeskField.rpc.js
+++ b/server/api/intDeskField/intDeskField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/index.js b/server/api/intDynamics365Account/index.js
index 0aab46e..b70f991 100644
--- a/server/api/intDynamics365Account/index.js
+++ b/server/api/intDynamics365Account/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.attributes.js b/server/api/intDynamics365Account/intDynamics365Account.attributes.js
index b39d8b8..ddb6f59 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.attributes.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.controller.js b/server/api/intDynamics365Account/intDynamics365Account.controller.js
index 1152727..175f875 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.controller.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.model.js b/server/api/intDynamics365Account/intDynamics365Account.model.js
index 9d9aa5d..9bac00b 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.model.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Account/intDynamics365Account.rpc.js b/server/api/intDynamics365Account/intDynamics365Account.rpc.js
index dd01b15..1191708 100644
--- a/server/api/intDynamics365Account/intDynamics365Account.rpc.js
+++ b/server/api/intDynamics365Account/intDynamics365Account.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/index.js b/server/api/intDynamics365Configuration/index.js
index 64d8018..68d849f 100644
--- a/server/api/intDynamics365Configuration/index.js
+++ b/server/api/intDynamics365Configuration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
index 32cab07..3642145 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
index 94fa7d6..df66cc1 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
index 61138ce..1bdaacd 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js b/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js
index cb066c8..1efadfa 100644
--- a/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js
+++ b/server/api/intDynamics365Configuration/intDynamics365Configuration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/index.js b/server/api/intDynamics365Field/index.js
index 633c0ae..a05fc4a 100644
--- a/server/api/intDynamics365Field/index.js
+++ b/server/api/intDynamics365Field/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.attributes.js b/server/api/intDynamics365Field/intDynamics365Field.attributes.js
index abfff5f..081f291 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.attributes.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.controller.js b/server/api/intDynamics365Field/intDynamics365Field.controller.js
index 755580f..5b30c13 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.controller.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.model.js b/server/api/intDynamics365Field/intDynamics365Field.model.js
index 8077e2b..c28768b 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.model.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intDynamics365Field/intDynamics365Field.rpc.js b/server/api/intDynamics365Field/intDynamics365Field.rpc.js
index 4b9a6f4..8e5fda6 100644
--- a/server/api/intDynamics365Field/intDynamics365Field.rpc.js
+++ b/server/api/intDynamics365Field/intDynamics365Field.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/index.js b/server/api/intFreshdeskAccount/index.js
index 60e2339..92d64e2 100644
--- a/server/api/intFreshdeskAccount/index.js
+++ b/server/api/intFreshdeskAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
index 0e3744c..f2445ec 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
index 792c24e..1351ac6 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
index c25387a..5c47dde 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js b/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
index f4b0190..a45b759 100644
--- a/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
+++ b/server/api/intFreshdeskAccount/intFreshdeskAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/index.js b/server/api/intFreshdeskConfiguration/index.js
index f6613ee..0dd4c0c 100644
--- a/server/api/intFreshdeskConfiguration/index.js
+++ b/server/api/intFreshdeskConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
index 57ddba5..45dc97c 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x2c20=['STRING','sequelize'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x2c20,0xf1));var _0x02c2=function(_0x1d9fbc,_0x6a62f3){_0x1d9fbc=_0x1d9fbc-0x0;var _0x50e7e0=_0x2c20[_0x1d9fbc];return _0x50e7e0;};'use strict';var Sequelize=require(_0x02c2('0x0'));module['exports']={'name':{'type':Sequelize[_0x02c2('0x1')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0x7ba0=['exports','STRING','sequelize'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x7ba0,0xda));var _0x07ba=function(_0x1cc70b,_0xe34d7d){_0x1cc70b=_0x1cc70b-0x0;var _0x5073e3=_0x7ba0[_0x1cc70b];return _0x5073e3;};'use strict';var Sequelize=require(_0x07ba('0x0'));module[_0x07ba('0x1')]={'name':{'type':Sequelize[_0x07ba('0x2')]},'description':{'type':Sequelize[_0x07ba('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
index 8331247..be21c43 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
index 8a601cc..d72320a 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js
index 714454f..0e5103c 100644
--- a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js
+++ b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/index.js b/server/api/intFreshdeskField/index.js
index d8be8d2..5d77e57 100644
--- a/server/api/intFreshdeskField/index.js
+++ b/server/api/intFreshdeskField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.attributes.js b/server/api/intFreshdeskField/intFreshdeskField.attributes.js
index 805d717..196508f 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.attributes.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.controller.js b/server/api/intFreshdeskField/intFreshdeskField.controller.js
index 5115dc0..75aa5c6 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.controller.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.model.js b/server/api/intFreshdeskField/intFreshdeskField.model.js
index f368b34..619b868 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.model.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intFreshdeskField/intFreshdeskField.rpc.js b/server/api/intFreshdeskField/intFreshdeskField.rpc.js
index d6c0b88..7a07f08 100644
--- a/server/api/intFreshdeskField/intFreshdeskField.rpc.js
+++ b/server/api/intFreshdeskField/intFreshdeskField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/index.js b/server/api/intSalesforceAccount/index.js
index 2f41dae..ecbaced 100644
--- a/server/api/intSalesforceAccount/index.js
+++ b/server/api/intSalesforceAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js b/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
index 1ada1d6..830f0f8 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.controller.js b/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
index e69a1d8..cfc1262 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.model.js b/server/api/intSalesforceAccount/intSalesforceAccount.model.js
index 351819a..ab11439 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.model.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js b/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
index 41d2b0f..00c4c7c 100644
--- a/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
+++ b/server/api/intSalesforceAccount/intSalesforceAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/index.js b/server/api/intSalesforceConfiguration/index.js
index a16253d..cca315d 100644
--- a/server/api/intSalesforceConfiguration/index.js
+++ b/server/api/intSalesforceConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
index 3a8a737..8ba215a 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
index cc4ed5c..4c9faa5 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
index 3ec038a..1285b35 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js
index ff758c0..18f14ac 100644
--- a/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js
+++ b/server/api/intSalesforceConfiguration/intSalesforceConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/index.js b/server/api/intSalesforceField/index.js
index 83f803b..b619290 100644
--- a/server/api/intSalesforceField/index.js
+++ b/server/api/intSalesforceField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.attributes.js b/server/api/intSalesforceField/intSalesforceField.attributes.js
index a154834..66a71d4 100644
--- a/server/api/intSalesforceField/intSalesforceField.attributes.js
+++ b/server/api/intSalesforceField/intSalesforceField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.controller.js b/server/api/intSalesforceField/intSalesforceField.controller.js
index 419c474..95d8d35 100644
--- a/server/api/intSalesforceField/intSalesforceField.controller.js
+++ b/server/api/intSalesforceField/intSalesforceField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.model.js b/server/api/intSalesforceField/intSalesforceField.model.js
index ebef060..045d9c5 100644
--- a/server/api/intSalesforceField/intSalesforceField.model.js
+++ b/server/api/intSalesforceField/intSalesforceField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSalesforceField/intSalesforceField.rpc.js b/server/api/intSalesforceField/intSalesforceField.rpc.js
index c30506c..8e835ac 100644
--- a/server/api/intSalesforceField/intSalesforceField.rpc.js
+++ b/server/api/intSalesforceField/intSalesforceField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/index.js b/server/api/intServicenowAccount/index.js
index 788df5d..ce9c7f0 100644
--- a/server/api/intServicenowAccount/index.js
+++ b/server/api/intServicenowAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.attributes.js b/server/api/intServicenowAccount/intServicenowAccount.attributes.js
index de0e15b..79c5002 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.attributes.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.controller.js b/server/api/intServicenowAccount/intServicenowAccount.controller.js
index 6d0abc3..1b03649 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.controller.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.model.js b/server/api/intServicenowAccount/intServicenowAccount.model.js
index 6b7dd5d..dfa3ccf 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.model.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowAccount/intServicenowAccount.rpc.js b/server/api/intServicenowAccount/intServicenowAccount.rpc.js
index 58414e5..80dad2f 100644
--- a/server/api/intServicenowAccount/intServicenowAccount.rpc.js
+++ b/server/api/intServicenowAccount/intServicenowAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/index.js b/server/api/intServicenowConfiguration/index.js
index 47dd140..f1b23b4 100644
--- a/server/api/intServicenowConfiguration/index.js
+++ b/server/api/intServicenowConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
index 8e7fb7c..9ceb309 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x3b17=['STRING','sequelize','exports'];(function(_0xf7aa86,_0x171456){var _0x5eb1ed=function(_0x47175f){while(--_0x47175f){_0xf7aa86['push'](_0xf7aa86['shift']());}};_0x5eb1ed(++_0x171456);}(_0x3b17,0x124));var _0x73b1=function(_0xa4b55,_0x2fc3a0){_0xa4b55=_0xa4b55-0x0;var _0x11b84d=_0x3b17[_0xa4b55];return _0x11b84d;};'use strict';var Sequelize=require(_0x73b1('0x0'));module[_0x73b1('0x1')]={'name':{'type':Sequelize[_0x73b1('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0xe6ec=['sequelize','exports'];(function(_0x5d48f5,_0xedd5a2){var _0x3c705b=function(_0xd2c553){while(--_0xd2c553){_0x5d48f5['push'](_0x5d48f5['shift']());}};_0x3c705b(++_0xedd5a2);}(_0xe6ec,0x1be));var _0xce6e=function(_0x15e7fd,_0x1f8fd2){_0x15e7fd=_0x15e7fd-0x0;var _0x39133b=_0xe6ec[_0x15e7fd];return _0x39133b;};'use strict';var Sequelize=require(_0xce6e('0x0'));module[_0xce6e('0x1')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
index b89bee5..356ba08 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
index 5e58a0f..663a9ad 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js
index 37dcd3e..571f03b 100644
--- a/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js
+++ b/server/api/intServicenowConfiguration/intServicenowConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/index.js b/server/api/intServicenowField/index.js
index 7e94612..97a0593 100644
--- a/server/api/intServicenowField/index.js
+++ b/server/api/intServicenowField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.attributes.js b/server/api/intServicenowField/intServicenowField.attributes.js
index be2d389..09538c8 100644
--- a/server/api/intServicenowField/intServicenowField.attributes.js
+++ b/server/api/intServicenowField/intServicenowField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.controller.js b/server/api/intServicenowField/intServicenowField.controller.js
index fb7355f..9ab45d6 100644
--- a/server/api/intServicenowField/intServicenowField.controller.js
+++ b/server/api/intServicenowField/intServicenowField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.model.js b/server/api/intServicenowField/intServicenowField.model.js
index af8e17c..05de269 100644
--- a/server/api/intServicenowField/intServicenowField.model.js
+++ b/server/api/intServicenowField/intServicenowField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intServicenowField/intServicenowField.rpc.js b/server/api/intServicenowField/intServicenowField.rpc.js
index b6d44c9..58abc94 100644
--- a/server/api/intServicenowField/intServicenowField.rpc.js
+++ b/server/api/intServicenowField/intServicenowField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/index.js b/server/api/intSugarcrmAccount/index.js
index 58a5b12..d6d5cf4 100644
--- a/server/api/intSugarcrmAccount/index.js
+++ b/server/api/intSugarcrmAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
index 694a268..fe28ff7 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
index b325c28..138d131 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
index f263b6d..a2c7ead 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js b/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
index 54f1051..4311e6d 100644
--- a/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
+++ b/server/api/intSugarcrmAccount/intSugarcrmAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/index.js b/server/api/intSugarcrmConfiguration/index.js
index 4c4f619..386b5a4 100644
--- a/server/api/intSugarcrmConfiguration/index.js
+++ b/server/api/intSugarcrmConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
index fb99dc7..4e25523 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x8e9a=['exports','STRING','sequelize'];(function(_0x32e62f,_0x501fc4){var _0x2db92b=function(_0x2fd2e6){while(--_0x2fd2e6){_0x32e62f['push'](_0x32e62f['shift']());}};_0x2db92b(++_0x501fc4);}(_0x8e9a,0x146));var _0xa8e9=function(_0x2ec438,_0x170f57){_0x2ec438=_0x2ec438-0x0;var _0x209097=_0x8e9a[_0x2ec438];return _0x209097;};'use strict';var Sequelize=require(_0xa8e9('0x0'));module[_0xa8e9('0x1')]={'name':{'type':Sequelize[_0xa8e9('0x2')]},'description':{'type':Sequelize[_0xa8e9('0x2')]}};
\ No newline at end of file
+var _0xc45f=['sequelize','exports','STRING'];(function(_0xc8db6b,_0x320abd){var _0x12cb81=function(_0x417540){while(--_0x417540){_0xc8db6b['push'](_0xc8db6b['shift']());}};_0x12cb81(++_0x320abd);}(_0xc45f,0x162));var _0xfc45=function(_0x710353,_0x147326){_0x710353=_0x710353-0x0;var _0x3b1f6c=_0xc45f[_0x710353];return _0x3b1f6c;};'use strict';var Sequelize=require(_0xfc45('0x0'));module[_0xfc45('0x1')]={'name':{'type':Sequelize[_0xfc45('0x2')]},'description':{'type':Sequelize[_0xfc45('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
index 6d514c6..c9767fe 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
index 2169c6c..555672e 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js
index 28ae184..b2d1f5b 100644
--- a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js
+++ b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/index.js b/server/api/intSugarcrmField/index.js
index dc5ede8..7643313 100644
--- a/server/api/intSugarcrmField/index.js
+++ b/server/api/intSugarcrmField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.attributes.js b/server/api/intSugarcrmField/intSugarcrmField.attributes.js
index 7ad8c5f..e9a67ac 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.attributes.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.controller.js b/server/api/intSugarcrmField/intSugarcrmField.controller.js
index f6cf933..2805a84 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.controller.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.model.js b/server/api/intSugarcrmField/intSugarcrmField.model.js
index 1fdf3da..bf3e255 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.model.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intSugarcrmField/intSugarcrmField.rpc.js b/server/api/intSugarcrmField/intSugarcrmField.rpc.js
index beeef5a..fd1d355 100644
--- a/server/api/intSugarcrmField/intSugarcrmField.rpc.js
+++ b/server/api/intSugarcrmField/intSugarcrmField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/index.js b/server/api/intVtigerAccount/index.js
index 96d27fe..6c6820b 100644
--- a/server/api/intVtigerAccount/index.js
+++ b/server/api/intVtigerAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.attributes.js b/server/api/intVtigerAccount/intVtigerAccount.attributes.js
index b4935a0..daa5a5d 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.attributes.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.controller.js b/server/api/intVtigerAccount/intVtigerAccount.controller.js
index ecbb5a7..eed3293 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.controller.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.model.js b/server/api/intVtigerAccount/intVtigerAccount.model.js
index c53764d..92fe592 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.model.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerAccount/intVtigerAccount.rpc.js b/server/api/intVtigerAccount/intVtigerAccount.rpc.js
index f21f3d7..d691f5a 100644
--- a/server/api/intVtigerAccount/intVtigerAccount.rpc.js
+++ b/server/api/intVtigerAccount/intVtigerAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/index.js b/server/api/intVtigerConfiguration/index.js
index 1e6998b..8605179 100644
--- a/server/api/intVtigerConfiguration/index.js
+++ b/server/api/intVtigerConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
index 305862f..48ded74 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x3726=['STRING'];(function(_0x7a88f6,_0x175d81){var _0x4122a3=function(_0x35ad1a){while(--_0x35ad1a){_0x7a88f6['push'](_0x7a88f6['shift']());}};_0x4122a3(++_0x175d81);}(_0x3726,0x98));var _0x6372=function(_0x523219,_0x1b3e05){_0x523219=_0x523219-0x0;var _0x4d1e87=_0x3726[_0x523219];return _0x4d1e87;};'use strict';var Sequelize=require('sequelize');module['exports']={'name':{'type':Sequelize[_0x6372('0x0')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0x6623=['STRING','exports'];(function(_0x73c836,_0x8aba2f){var _0x140fde=function(_0x2b7c55){while(--_0x2b7c55){_0x73c836['push'](_0x73c836['shift']());}};_0x140fde(++_0x8aba2f);}(_0x6623,0x12f));var _0x3662=function(_0x550d12,_0x5384bd){_0x550d12=_0x550d12-0x0;var _0x12103d=_0x6623[_0x550d12];return _0x12103d;};'use strict';var Sequelize=require('sequelize');module[_0x3662('0x0')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize[_0x3662('0x1')]}};
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
index 3cbea4a..2b90992 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
index 15bac59..f24f621 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js
index 7dea39f..e4cf9b7 100644
--- a/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js
+++ b/server/api/intVtigerConfiguration/intVtigerConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/index.js b/server/api/intVtigerField/index.js
index be3a2b7..f34be39 100644
--- a/server/api/intVtigerField/index.js
+++ b/server/api/intVtigerField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.attributes.js b/server/api/intVtigerField/intVtigerField.attributes.js
index 40c1c70..424f3ae 100644
--- a/server/api/intVtigerField/intVtigerField.attributes.js
+++ b/server/api/intVtigerField/intVtigerField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.controller.js b/server/api/intVtigerField/intVtigerField.controller.js
index ac896ad..65e4191 100644
--- a/server/api/intVtigerField/intVtigerField.controller.js
+++ b/server/api/intVtigerField/intVtigerField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.model.js b/server/api/intVtigerField/intVtigerField.model.js
index 428d253..400c0e3 100644
--- a/server/api/intVtigerField/intVtigerField.model.js
+++ b/server/api/intVtigerField/intVtigerField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intVtigerField/intVtigerField.rpc.js b/server/api/intVtigerField/intVtigerField.rpc.js
index 5be992d..0be99a9 100644
--- a/server/api/intVtigerField/intVtigerField.rpc.js
+++ b/server/api/intVtigerField/intVtigerField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/index.js b/server/api/intZendeskAccount/index.js
index c92c35b..faf535b 100644
--- a/server/api/intZendeskAccount/index.js
+++ b/server/api/intZendeskAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.attributes.js b/server/api/intZendeskAccount/intZendeskAccount.attributes.js
index caab2a9..cf7332c 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.attributes.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.controller.js b/server/api/intZendeskAccount/intZendeskAccount.controller.js
index 4384777..e5f926d 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.controller.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.model.js b/server/api/intZendeskAccount/intZendeskAccount.model.js
index 27e5819..cae7e1a 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.model.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskAccount/intZendeskAccount.rpc.js b/server/api/intZendeskAccount/intZendeskAccount.rpc.js
index 75c839e..a5d855e 100644
--- a/server/api/intZendeskAccount/intZendeskAccount.rpc.js
+++ b/server/api/intZendeskAccount/intZendeskAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/index.js b/server/api/intZendeskConfiguration/index.js
index fb11f48..128435f 100644
--- a/server/api/intZendeskConfiguration/index.js
+++ b/server/api/intZendeskConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
index 7070ad3..0ebef88 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x4eae=['sequelize','exports','STRING'];(function(_0x308eab,_0x58c079){var _0x23deed=function(_0x4b94a0){while(--_0x4b94a0){_0x308eab['push'](_0x308eab['shift']());}};_0x23deed(++_0x58c079);}(_0x4eae,0x120));var _0xe4ea=function(_0x381589,_0x27a707){_0x381589=_0x381589-0x0;var _0x2a075d=_0x4eae[_0x381589];return _0x2a075d;};'use strict';var Sequelize=require(_0xe4ea('0x0'));module[_0xe4ea('0x1')]={'name':{'type':Sequelize[_0xe4ea('0x2')]},'description':{'type':Sequelize[_0xe4ea('0x2')]}};
\ No newline at end of file
+var _0x1564=['STRING'];(function(_0x2d5023,_0x23178e){var _0x459de3=function(_0x97d826){while(--_0x97d826){_0x2d5023['push'](_0x2d5023['shift']());}};_0x459de3(++_0x23178e);}(_0x1564,0x13e));var _0x4156=function(_0x53fb43,_0x223a27){_0x53fb43=_0x53fb43-0x0;var _0x35ca6e=_0x1564[_0x53fb43];return _0x35ca6e;};'use strict';var Sequelize=require('sequelize');module['exports']={'name':{'type':Sequelize[_0x4156('0x0')]},'description':{'type':Sequelize[_0x4156('0x0')]}};
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
index abccba7..0f0d385 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
index 10d9c74..5cd0c60 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js
index bfed0a7..a962c4f 100644
--- a/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js
+++ b/server/api/intZendeskConfiguration/intZendeskConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/index.js b/server/api/intZendeskField/index.js
index 223e5b3..206c472 100644
--- a/server/api/intZendeskField/index.js
+++ b/server/api/intZendeskField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.attributes.js b/server/api/intZendeskField/intZendeskField.attributes.js
index 475e01d..875f8cb 100644
--- a/server/api/intZendeskField/intZendeskField.attributes.js
+++ b/server/api/intZendeskField/intZendeskField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.controller.js b/server/api/intZendeskField/intZendeskField.controller.js
index 76d332d..32a3c4e 100644
--- a/server/api/intZendeskField/intZendeskField.controller.js
+++ b/server/api/intZendeskField/intZendeskField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.model.js b/server/api/intZendeskField/intZendeskField.model.js
index b691439..7b2a905 100644
--- a/server/api/intZendeskField/intZendeskField.model.js
+++ b/server/api/intZendeskField/intZendeskField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZendeskField/intZendeskField.rpc.js b/server/api/intZendeskField/intZendeskField.rpc.js
index 660ebc0..ea1d24f 100644
--- a/server/api/intZendeskField/intZendeskField.rpc.js
+++ b/server/api/intZendeskField/intZendeskField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/index.js b/server/api/intZohoAccount/index.js
index 7e0e489..3595c97 100644
--- a/server/api/intZohoAccount/index.js
+++ b/server/api/intZohoAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.attributes.js b/server/api/intZohoAccount/intZohoAccount.attributes.js
index 45831a8..67ed261 100644
--- a/server/api/intZohoAccount/intZohoAccount.attributes.js
+++ b/server/api/intZohoAccount/intZohoAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.controller.js b/server/api/intZohoAccount/intZohoAccount.controller.js
index 9ada1e4..f88c9a3 100644
--- a/server/api/intZohoAccount/intZohoAccount.controller.js
+++ b/server/api/intZohoAccount/intZohoAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.model.js b/server/api/intZohoAccount/intZohoAccount.model.js
index cdac218..b83a7ec 100644
--- a/server/api/intZohoAccount/intZohoAccount.model.js
+++ b/server/api/intZohoAccount/intZohoAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoAccount/intZohoAccount.rpc.js b/server/api/intZohoAccount/intZohoAccount.rpc.js
index ab67c5b..ccf1d4b 100644
--- a/server/api/intZohoAccount/intZohoAccount.rpc.js
+++ b/server/api/intZohoAccount/intZohoAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/index.js b/server/api/intZohoConfiguration/index.js
index b7915b6..347d4d4 100644
--- a/server/api/intZohoConfiguration/index.js
+++ b/server/api/intZohoConfiguration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js b/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
index b1af638..1bf19f8 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xe1f4=['exports','STRING','sequelize'];(function(_0x1f2ca,_0x1bdbce){var _0x2f61ec=function(_0x52642d){while(--_0x52642d){_0x1f2ca['push'](_0x1f2ca['shift']());}};_0x2f61ec(++_0x1bdbce);}(_0xe1f4,0x1ca));var _0x4e1f=function(_0xd273e,_0x125f2f){_0xd273e=_0xd273e-0x0;var _0x1d530a=_0xe1f4[_0xd273e];return _0x1d530a;};'use strict';var Sequelize=require(_0x4e1f('0x0'));module[_0x4e1f('0x1')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize[_0x4e1f('0x2')]}};
\ No newline at end of file
+var _0x2924=['exports','STRING','sequelize'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0x2924,0x1dc));var _0x4292=function(_0x455150,_0x274121){_0x455150=_0x455150-0x0;var _0x12ca9c=_0x2924[_0x455150];return _0x12ca9c;};'use strict';var Sequelize=require(_0x4292('0x0'));module[_0x4292('0x1')]={'name':{'type':Sequelize[_0x4292('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
index fd75cf3..ed364ef 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.model.js b/server/api/intZohoConfiguration/intZohoConfiguration.model.js
index 1c9d0f5..b244c66 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.model.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js b/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js
index dee4a9f..a3f8313 100644
--- a/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js
+++ b/server/api/intZohoConfiguration/intZohoConfiguration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/index.js b/server/api/intZohoField/index.js
index 606323a..5114fff 100644
--- a/server/api/intZohoField/index.js
+++ b/server/api/intZohoField/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.attributes.js b/server/api/intZohoField/intZohoField.attributes.js
index 063eb79..47031a3 100644
--- a/server/api/intZohoField/intZohoField.attributes.js
+++ b/server/api/intZohoField/intZohoField.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.controller.js b/server/api/intZohoField/intZohoField.controller.js
index 2c60223..d49c744 100644
--- a/server/api/intZohoField/intZohoField.controller.js
+++ b/server/api/intZohoField/intZohoField.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.model.js b/server/api/intZohoField/intZohoField.model.js
index 80f5f00..8d085ec 100644
--- a/server/api/intZohoField/intZohoField.model.js
+++ b/server/api/intZohoField/intZohoField.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/intZohoField/intZohoField.rpc.js b/server/api/intZohoField/intZohoField.rpc.js
index c88afe8..6970af6 100644
--- a/server/api/intZohoField/intZohoField.rpc.js
+++ b/server/api/intZohoField/intZohoField.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/index.js b/server/api/integration/index.js
index ae61ad2..210028d 100644
--- a/server/api/integration/index.js
+++ b/server/api/integration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.attributes.js b/server/api/integration/integration.attributes.js
index 932cf43..37fa2b3 100644
--- a/server/api/integration/integration.attributes.js
+++ b/server/api/integration/integration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.controller.js b/server/api/integration/integration.controller.js
index 2302997..44c51e6 100644
--- a/server/api/integration/integration.controller.js
+++ b/server/api/integration/integration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.model.js b/server/api/integration/integration.model.js
index 8de0032..cf00a0b 100644
--- a/server/api/integration/integration.model.js
+++ b/server/api/integration/integration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integration/integration.rpc.js b/server/api/integration/integration.rpc.js
index bc7adf2..3c1b666 100644
--- a/server/api/integration/integration.rpc.js
+++ b/server/api/integration/integration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/index.js b/server/api/integrationReport/index.js
index 6641516..9ee0ff6 100644
--- a/server/api/integrationReport/index.js
+++ b/server/api/integrationReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.attributes.js b/server/api/integrationReport/integrationReport.attributes.js
index 704a320..347849f 100644
--- a/server/api/integrationReport/integrationReport.attributes.js
+++ b/server/api/integrationReport/integrationReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.controller.js b/server/api/integrationReport/integrationReport.controller.js
index b3d3845..88ae921 100644
--- a/server/api/integrationReport/integrationReport.controller.js
+++ b/server/api/integrationReport/integrationReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.model.js b/server/api/integrationReport/integrationReport.model.js
index 0296c46..a9f7999 100644
--- a/server/api/integrationReport/integrationReport.model.js
+++ b/server/api/integrationReport/integrationReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/integrationReport/integrationReport.rpc.js b/server/api/integrationReport/integrationReport.rpc.js
index 4211cd0..cae8b51 100644
--- a/server/api/integrationReport/integrationReport.rpc.js
+++ b/server/api/integrationReport/integrationReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/index.js b/server/api/interval/index.js
index 3b71a9c..b5d8c2b 100644
--- a/server/api/interval/index.js
+++ b/server/api/interval/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.attributes.js b/server/api/interval/interval.attributes.js
index c6a6ca6..a3f5e3f 100644
--- a/server/api/interval/interval.attributes.js
+++ b/server/api/interval/interval.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.controller.js b/server/api/interval/interval.controller.js
index b606fa7..8a227e3 100644
--- a/server/api/interval/interval.controller.js
+++ b/server/api/interval/interval.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.model.js b/server/api/interval/interval.model.js
index 6222a82..eda3f48 100644
--- a/server/api/interval/interval.model.js
+++ b/server/api/interval/interval.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/interval/interval.rpc.js b/server/api/interval/interval.rpc.js
index ee125ae..965bee9 100644
--- a/server/api/interval/interval.rpc.js
+++ b/server/api/interval/interval.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jira/index.js b/server/api/jira/index.js
index db4f651..d33f54b 100644
--- a/server/api/jira/index.js
+++ b/server/api/jira/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jira/jira.controller.js b/server/api/jira/jira.controller.js
index 47c6be0..d5bab68 100644
--- a/server/api/jira/jira.controller.js
+++ b/server/api/jira/jira.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/index.js b/server/api/jscriptyAnswerReport/index.js
index c19405a..8a09c38 100644
--- a/server/api/jscriptyAnswerReport/index.js
+++ b/server/api/jscriptyAnswerReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
index 322fda7..37f7282 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
index 84c2f69..028d9db 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
index 381a048..f20fba3 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js
index fd0aa87..e407072 100644
--- a/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js
+++ b/server/api/jscriptyAnswerReport/jscriptyAnswerReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/index.js b/server/api/jscriptyProject/index.js
index 08dcd20..85c17be 100644
--- a/server/api/jscriptyProject/index.js
+++ b/server/api/jscriptyProject/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.attributes.js b/server/api/jscriptyProject/jscriptyProject.attributes.js
index 0370717..3db7aa8 100644
--- a/server/api/jscriptyProject/jscriptyProject.attributes.js
+++ b/server/api/jscriptyProject/jscriptyProject.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.controller.js b/server/api/jscriptyProject/jscriptyProject.controller.js
index a1d2747..162523d 100644
--- a/server/api/jscriptyProject/jscriptyProject.controller.js
+++ b/server/api/jscriptyProject/jscriptyProject.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.model.js b/server/api/jscriptyProject/jscriptyProject.model.js
index 65c4b10..8b75e72 100644
--- a/server/api/jscriptyProject/jscriptyProject.model.js
+++ b/server/api/jscriptyProject/jscriptyProject.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyProject/jscriptyProject.rpc.js b/server/api/jscriptyProject/jscriptyProject.rpc.js
index e1d877c..8d5656f 100644
--- a/server/api/jscriptyProject/jscriptyProject.rpc.js
+++ b/server/api/jscriptyProject/jscriptyProject.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/index.js b/server/api/jscriptyQuestionReport/index.js
index 488fb20..c42faa6 100644
--- a/server/api/jscriptyQuestionReport/index.js
+++ b/server/api/jscriptyQuestionReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
index 83bb303..ab59067 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
index 76c4a86..de8ebe7 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
index 26724fc..c1ce61a 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js
index bbcca51..d60b364 100644
--- a/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js
+++ b/server/api/jscriptyQuestionReport/jscriptyQuestionReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/index.js b/server/api/jscriptySessionReport/index.js
index 7a287e3..a6ee410 100644
--- a/server/api/jscriptySessionReport/index.js
+++ b/server/api/jscriptySessionReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js b/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
index 711d8fa..735c182 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.controller.js b/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
index cbdfd85..4fb0df3 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.model.js b/server/api/jscriptySessionReport/jscriptySessionReport.model.js
index 85db419..b57d03e 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.model.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js b/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js
index e3e319c..3067123 100644
--- a/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js
+++ b/server/api/jscriptySessionReport/jscriptySessionReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/index.js b/server/api/license/index.js
index 84e6f9c..e809325 100644
--- a/server/api/license/index.js
+++ b/server/api/license/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.attributes.js b/server/api/license/license.attributes.js
index 86f4f24..ad47b47 100644
--- a/server/api/license/license.attributes.js
+++ b/server/api/license/license.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.controller.js b/server/api/license/license.controller.js
index 17fe87f..7d3b35a 100644
--- a/server/api/license/license.controller.js
+++ b/server/api/license/license.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.model.js b/server/api/license/license.model.js
index 64d04c9..469959d 100644
--- a/server/api/license/license.model.js
+++ b/server/api/license/license.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/license/license.rpc.js b/server/api/license/license.rpc.js
index 78937ae..73c2d08 100644
--- a/server/api/license/license.rpc.js
+++ b/server/api/license/license.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/index.js b/server/api/mailAccount/index.js
index bd3902a..fb24c4f 100644
--- a/server/api/mailAccount/index.js
+++ b/server/api/mailAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.attributes.js b/server/api/mailAccount/mailAccount.attributes.js
index b12249d..b8d4be8 100644
--- a/server/api/mailAccount/mailAccount.attributes.js
+++ b/server/api/mailAccount/mailAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.controller.js b/server/api/mailAccount/mailAccount.controller.js
index 70b99bf..b2aed3c 100644
--- a/server/api/mailAccount/mailAccount.controller.js
+++ b/server/api/mailAccount/mailAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.events.js b/server/api/mailAccount/mailAccount.events.js
index af1cae8..34425d0 100644
--- a/server/api/mailAccount/mailAccount.events.js
+++ b/server/api/mailAccount/mailAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.model.js b/server/api/mailAccount/mailAccount.model.js
index 8e3cb41..ad3e979 100644
--- a/server/api/mailAccount/mailAccount.model.js
+++ b/server/api/mailAccount/mailAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.rpc.js b/server/api/mailAccount/mailAccount.rpc.js
index a8057c1..015531e 100644
--- a/server/api/mailAccount/mailAccount.rpc.js
+++ b/server/api/mailAccount/mailAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailAccount/mailAccount.socket.js b/server/api/mailAccount/mailAccount.socket.js
index f29a789..baf83c5 100644
--- a/server/api/mailAccount/mailAccount.socket.js
+++ b/server/api/mailAccount/mailAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/index.js b/server/api/mailApplication/index.js
index 921436d..69f26d0 100644
--- a/server/api/mailApplication/index.js
+++ b/server/api/mailApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.attributes.js b/server/api/mailApplication/mailApplication.attributes.js
index 16143ee..ccde009 100644
--- a/server/api/mailApplication/mailApplication.attributes.js
+++ b/server/api/mailApplication/mailApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.controller.js b/server/api/mailApplication/mailApplication.controller.js
index 4cee8d4..cfa7a79 100644
--- a/server/api/mailApplication/mailApplication.controller.js
+++ b/server/api/mailApplication/mailApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.model.js b/server/api/mailApplication/mailApplication.model.js
index 2227a3b..01699d7 100644
--- a/server/api/mailApplication/mailApplication.model.js
+++ b/server/api/mailApplication/mailApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailApplication/mailApplication.rpc.js b/server/api/mailApplication/mailApplication.rpc.js
index 056c0fc..f1ba887 100644
--- a/server/api/mailApplication/mailApplication.rpc.js
+++ b/server/api/mailApplication/mailApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/index.js b/server/api/mailInteraction/index.js
index e06c4d7..9080a4e 100644
--- a/server/api/mailInteraction/index.js
+++ b/server/api/mailInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.attributes.js b/server/api/mailInteraction/mailInteraction.attributes.js
index ff2615b..df83b0d 100644
--- a/server/api/mailInteraction/mailInteraction.attributes.js
+++ b/server/api/mailInteraction/mailInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.controller.js b/server/api/mailInteraction/mailInteraction.controller.js
index 2ca1702..8ecb1e1 100644
--- a/server/api/mailInteraction/mailInteraction.controller.js
+++ b/server/api/mailInteraction/mailInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.events.js b/server/api/mailInteraction/mailInteraction.events.js
index 153b92b..a335163 100644
--- a/server/api/mailInteraction/mailInteraction.events.js
+++ b/server/api/mailInteraction/mailInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.model.js b/server/api/mailInteraction/mailInteraction.model.js
index 98938f2..3f526ba 100644
--- a/server/api/mailInteraction/mailInteraction.model.js
+++ b/server/api/mailInteraction/mailInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.rpc.js b/server/api/mailInteraction/mailInteraction.rpc.js
index b5d9836..edea3ba 100644
--- a/server/api/mailInteraction/mailInteraction.rpc.js
+++ b/server/api/mailInteraction/mailInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailInteraction/mailInteraction.socket.js b/server/api/mailInteraction/mailInteraction.socket.js
index 474346b..64c0b79 100644
--- a/server/api/mailInteraction/mailInteraction.socket.js
+++ b/server/api/mailInteraction/mailInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/index.js b/server/api/mailMessage/index.js
index e90169e..129b33d 100644
--- a/server/api/mailMessage/index.js
+++ b/server/api/mailMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.attributes.js b/server/api/mailMessage/mailMessage.attributes.js
index ff8dbff..3dda2a6 100644
--- a/server/api/mailMessage/mailMessage.attributes.js
+++ b/server/api/mailMessage/mailMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.controller.js b/server/api/mailMessage/mailMessage.controller.js
index 338dbb0..a23c51c 100644
--- a/server/api/mailMessage/mailMessage.controller.js
+++ b/server/api/mailMessage/mailMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.events.js b/server/api/mailMessage/mailMessage.events.js
index ce43a01..3a2461d 100644
--- a/server/api/mailMessage/mailMessage.events.js
+++ b/server/api/mailMessage/mailMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.model.js b/server/api/mailMessage/mailMessage.model.js
index 9dd55d2..5115e24 100644
--- a/server/api/mailMessage/mailMessage.model.js
+++ b/server/api/mailMessage/mailMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.rpc.js b/server/api/mailMessage/mailMessage.rpc.js
index fea8818..1e3c0da 100644
--- a/server/api/mailMessage/mailMessage.rpc.js
+++ b/server/api/mailMessage/mailMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailMessage/mailMessage.socket.js b/server/api/mailMessage/mailMessage.socket.js
index 669371e..50b0f44 100644
--- a/server/api/mailMessage/mailMessage.socket.js
+++ b/server/api/mailMessage/mailMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/index.js b/server/api/mailQueue/index.js
index 18598e2..023615e 100644
--- a/server/api/mailQueue/index.js
+++ b/server/api/mailQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.attributes.js b/server/api/mailQueue/mailQueue.attributes.js
index a3f3fd9..89df974 100644
--- a/server/api/mailQueue/mailQueue.attributes.js
+++ b/server/api/mailQueue/mailQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.controller.js b/server/api/mailQueue/mailQueue.controller.js
index 2f234a9..666b5ce 100644
--- a/server/api/mailQueue/mailQueue.controller.js
+++ b/server/api/mailQueue/mailQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.events.js b/server/api/mailQueue/mailQueue.events.js
index ba3342c..a739ff3 100644
--- a/server/api/mailQueue/mailQueue.events.js
+++ b/server/api/mailQueue/mailQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.model.js b/server/api/mailQueue/mailQueue.model.js
index bb28951..131e9a6 100644
--- a/server/api/mailQueue/mailQueue.model.js
+++ b/server/api/mailQueue/mailQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.rpc.js b/server/api/mailQueue/mailQueue.rpc.js
index b975459..41a60b6 100644
--- a/server/api/mailQueue/mailQueue.rpc.js
+++ b/server/api/mailQueue/mailQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueue/mailQueue.socket.js b/server/api/mailQueue/mailQueue.socket.js
index da48223..77bde87 100644
--- a/server/api/mailQueue/mailQueue.socket.js
+++ b/server/api/mailQueue/mailQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/index.js b/server/api/mailQueueReport/index.js
index 4561320..638c4df 100644
--- a/server/api/mailQueueReport/index.js
+++ b/server/api/mailQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.attributes.js b/server/api/mailQueueReport/mailQueueReport.attributes.js
index 2c38403..eff5f1b 100644
--- a/server/api/mailQueueReport/mailQueueReport.attributes.js
+++ b/server/api/mailQueueReport/mailQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.controller.js b/server/api/mailQueueReport/mailQueueReport.controller.js
index 3872ad1..3be395b 100644
--- a/server/api/mailQueueReport/mailQueueReport.controller.js
+++ b/server/api/mailQueueReport/mailQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.model.js b/server/api/mailQueueReport/mailQueueReport.model.js
index f478d04..09f0db0 100644
--- a/server/api/mailQueueReport/mailQueueReport.model.js
+++ b/server/api/mailQueueReport/mailQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailQueueReport/mailQueueReport.rpc.js b/server/api/mailQueueReport/mailQueueReport.rpc.js
index e4aec76..8245aee 100644
--- a/server/api/mailQueueReport/mailQueueReport.rpc.js
+++ b/server/api/mailQueueReport/mailQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/index.js b/server/api/mailServerIn/index.js
index 42bf1b3..70b7d14 100644
--- a/server/api/mailServerIn/index.js
+++ b/server/api/mailServerIn/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.attributes.js b/server/api/mailServerIn/mailServerIn.attributes.js
index ad87049..a10a7f3 100644
--- a/server/api/mailServerIn/mailServerIn.attributes.js
+++ b/server/api/mailServerIn/mailServerIn.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.model.js b/server/api/mailServerIn/mailServerIn.model.js
index 254d967..8adf7e9 100644
--- a/server/api/mailServerIn/mailServerIn.model.js
+++ b/server/api/mailServerIn/mailServerIn.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerIn/mailServerIn.rpc.js b/server/api/mailServerIn/mailServerIn.rpc.js
index 03a86ce..0e153ce 100644
--- a/server/api/mailServerIn/mailServerIn.rpc.js
+++ b/server/api/mailServerIn/mailServerIn.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/index.js b/server/api/mailServerOut/index.js
index 9f715bd..26c3f2b 100644
--- a/server/api/mailServerOut/index.js
+++ b/server/api/mailServerOut/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.attributes.js b/server/api/mailServerOut/mailServerOut.attributes.js
index 22764cf..123e401 100644
--- a/server/api/mailServerOut/mailServerOut.attributes.js
+++ b/server/api/mailServerOut/mailServerOut.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.controller.js b/server/api/mailServerOut/mailServerOut.controller.js
index 8c2b525..8921e8b 100644
--- a/server/api/mailServerOut/mailServerOut.controller.js
+++ b/server/api/mailServerOut/mailServerOut.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.model.js b/server/api/mailServerOut/mailServerOut.model.js
index 10ca554..77fd1c8 100644
--- a/server/api/mailServerOut/mailServerOut.model.js
+++ b/server/api/mailServerOut/mailServerOut.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailServerOut/mailServerOut.rpc.js b/server/api/mailServerOut/mailServerOut.rpc.js
index 99a0bba..eac2766 100644
--- a/server/api/mailServerOut/mailServerOut.rpc.js
+++ b/server/api/mailServerOut/mailServerOut.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/index.js b/server/api/mailSubstatus/index.js
index 7c26730..a68b6a5 100644
--- a/server/api/mailSubstatus/index.js
+++ b/server/api/mailSubstatus/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.attributes.js b/server/api/mailSubstatus/mailSubstatus.attributes.js
index bf9e028..a0c61f5 100644
--- a/server/api/mailSubstatus/mailSubstatus.attributes.js
+++ b/server/api/mailSubstatus/mailSubstatus.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.controller.js b/server/api/mailSubstatus/mailSubstatus.controller.js
index 23035eb..c7cf4af 100644
--- a/server/api/mailSubstatus/mailSubstatus.controller.js
+++ b/server/api/mailSubstatus/mailSubstatus.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.model.js b/server/api/mailSubstatus/mailSubstatus.model.js
index 78cb7c4..367f2cc 100644
--- a/server/api/mailSubstatus/mailSubstatus.model.js
+++ b/server/api/mailSubstatus/mailSubstatus.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailSubstatus/mailSubstatus.rpc.js b/server/api/mailSubstatus/mailSubstatus.rpc.js
index 6406268..2e21929 100644
--- a/server/api/mailSubstatus/mailSubstatus.rpc.js
+++ b/server/api/mailSubstatus/mailSubstatus.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/index.js b/server/api/mailTransferReport/index.js
index e855368..fa38391 100644
--- a/server/api/mailTransferReport/index.js
+++ b/server/api/mailTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.attributes.js b/server/api/mailTransferReport/mailTransferReport.attributes.js
index a706ea8..5d7ac13 100644
--- a/server/api/mailTransferReport/mailTransferReport.attributes.js
+++ b/server/api/mailTransferReport/mailTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.controller.js b/server/api/mailTransferReport/mailTransferReport.controller.js
index 1a010d3..6525c51 100644
--- a/server/api/mailTransferReport/mailTransferReport.controller.js
+++ b/server/api/mailTransferReport/mailTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.model.js b/server/api/mailTransferReport/mailTransferReport.model.js
index b5cf63c..de9d637 100644
--- a/server/api/mailTransferReport/mailTransferReport.model.js
+++ b/server/api/mailTransferReport/mailTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/mailTransferReport/mailTransferReport.rpc.js b/server/api/mailTransferReport/mailTransferReport.rpc.js
index cb176bc..631d779 100644
--- a/server/api/mailTransferReport/mailTransferReport.rpc.js
+++ b/server/api/mailTransferReport/mailTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/index.js b/server/api/memberReport/index.js
index c7a3f00..b718d3f 100644
--- a/server/api/memberReport/index.js
+++ b/server/api/memberReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.attributes.js b/server/api/memberReport/memberReport.attributes.js
index e6bcba3..5d954c6 100644
--- a/server/api/memberReport/memberReport.attributes.js
+++ b/server/api/memberReport/memberReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.controller.js b/server/api/memberReport/memberReport.controller.js
index e3b18db..61ae03b 100644
--- a/server/api/memberReport/memberReport.controller.js
+++ b/server/api/memberReport/memberReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.model.js b/server/api/memberReport/memberReport.model.js
index 7762c0a..46bb488 100644
--- a/server/api/memberReport/memberReport.model.js
+++ b/server/api/memberReport/memberReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/memberReport/memberReport.rpc.js b/server/api/memberReport/memberReport.rpc.js
index 20592a5..69b560b 100644
--- a/server/api/memberReport/memberReport.rpc.js
+++ b/server/api/memberReport/memberReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/index.js b/server/api/migration/index.js
index 150665e..08b4101 100644
--- a/server/api/migration/index.js
+++ b/server/api/migration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.attributes.js b/server/api/migration/migration.attributes.js
index 942e136..6e05eb2 100644
--- a/server/api/migration/migration.attributes.js
+++ b/server/api/migration/migration.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x1500=['STRING','version','sequelize','exports'];(function(_0x445dc4,_0x3764da){var _0x19f060=function(_0x2fcf6f){while(--_0x2fcf6f){_0x445dc4['push'](_0x445dc4['shift']());}};_0x19f060(++_0x3764da);}(_0x1500,0x8a));var _0x0150=function(_0x5d925b,_0x50d86b){_0x5d925b=_0x5d925b-0x0;var _0x26884e=_0x1500[_0x5d925b];return _0x26884e;};'use strict';var Sequelize=require(_0x0150('0x0'));module[_0x0150('0x1')]={'version':{'type':Sequelize[_0x0150('0x2')],'unique':_0x0150('0x3')}};
\ No newline at end of file
+var _0xd8f0=['STRING','version','sequelize','exports'];(function(_0x3ff7bb,_0x493a91){var _0x92e69c=function(_0x35285f){while(--_0x35285f){_0x3ff7bb['push'](_0x3ff7bb['shift']());}};_0x92e69c(++_0x493a91);}(_0xd8f0,0x14e));var _0x0d8f=function(_0x2f8140,_0x37076b){_0x2f8140=_0x2f8140-0x0;var _0x21bd12=_0xd8f0[_0x2f8140];return _0x21bd12;};'use strict';var Sequelize=require(_0x0d8f('0x0'));module[_0x0d8f('0x1')]={'version':{'type':Sequelize[_0x0d8f('0x2')],'unique':_0x0d8f('0x3')}};
\ No newline at end of file
diff --git a/server/api/migration/migration.controller.js b/server/api/migration/migration.controller.js
index c0960c7..7a6c211 100644
--- a/server/api/migration/migration.controller.js
+++ b/server/api/migration/migration.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.model.js b/server/api/migration/migration.model.js
index 21c39ca..409a409 100644
--- a/server/api/migration/migration.model.js
+++ b/server/api/migration/migration.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/migration/migration.rpc.js b/server/api/migration/migration.rpc.js
index b845ccc..a1c4809 100644
--- a/server/api/migration/migration.rpc.js
+++ b/server/api/migration/migration.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/index.js b/server/api/network/index.js
index 16e227f..f345e67 100644
--- a/server/api/network/index.js
+++ b/server/api/network/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.attributes.js b/server/api/network/network.attributes.js
index 17d710f..4c30441 100644
--- a/server/api/network/network.attributes.js
+++ b/server/api/network/network.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.controller.js b/server/api/network/network.controller.js
index 9f6b571..9106204 100644
--- a/server/api/network/network.controller.js
+++ b/server/api/network/network.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.model.js b/server/api/network/network.model.js
index 44ec7f9..2f852bc 100644
--- a/server/api/network/network.model.js
+++ b/server/api/network/network.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/network/network.rpc.js b/server/api/network/network.rpc.js
index 07a686c..aae1a07 100644
--- a/server/api/network/network.rpc.js
+++ b/server/api/network/network.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/index.js b/server/api/openchannelAccount/index.js
index 4abf320..2c30099 100644
--- a/server/api/openchannelAccount/index.js
+++ b/server/api/openchannelAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.attributes.js b/server/api/openchannelAccount/openchannelAccount.attributes.js
index c6c9be0..507910d 100644
--- a/server/api/openchannelAccount/openchannelAccount.attributes.js
+++ b/server/api/openchannelAccount/openchannelAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.controller.js b/server/api/openchannelAccount/openchannelAccount.controller.js
index 3cf465c..a5e2ae0 100644
--- a/server/api/openchannelAccount/openchannelAccount.controller.js
+++ b/server/api/openchannelAccount/openchannelAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.events.js b/server/api/openchannelAccount/openchannelAccount.events.js
index ed64e1d..1652800 100644
--- a/server/api/openchannelAccount/openchannelAccount.events.js
+++ b/server/api/openchannelAccount/openchannelAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.model.js b/server/api/openchannelAccount/openchannelAccount.model.js
index 8a2ebb7..d801ad3 100644
--- a/server/api/openchannelAccount/openchannelAccount.model.js
+++ b/server/api/openchannelAccount/openchannelAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.rpc.js b/server/api/openchannelAccount/openchannelAccount.rpc.js
index 395db76..44adab8 100644
--- a/server/api/openchannelAccount/openchannelAccount.rpc.js
+++ b/server/api/openchannelAccount/openchannelAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelAccount/openchannelAccount.socket.js b/server/api/openchannelAccount/openchannelAccount.socket.js
index 62e0895..861491f 100644
--- a/server/api/openchannelAccount/openchannelAccount.socket.js
+++ b/server/api/openchannelAccount/openchannelAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/index.js b/server/api/openchannelApplication/index.js
index a7d8403..885d894 100644
--- a/server/api/openchannelApplication/index.js
+++ b/server/api/openchannelApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.attributes.js b/server/api/openchannelApplication/openchannelApplication.attributes.js
index 76281d2..970dd73 100644
--- a/server/api/openchannelApplication/openchannelApplication.attributes.js
+++ b/server/api/openchannelApplication/openchannelApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.controller.js b/server/api/openchannelApplication/openchannelApplication.controller.js
index 4e34062..de27642 100644
--- a/server/api/openchannelApplication/openchannelApplication.controller.js
+++ b/server/api/openchannelApplication/openchannelApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.model.js b/server/api/openchannelApplication/openchannelApplication.model.js
index 9a720d7..7ace6dc 100644
--- a/server/api/openchannelApplication/openchannelApplication.model.js
+++ b/server/api/openchannelApplication/openchannelApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelApplication/openchannelApplication.rpc.js b/server/api/openchannelApplication/openchannelApplication.rpc.js
index a13bd7e..076c6e9 100644
--- a/server/api/openchannelApplication/openchannelApplication.rpc.js
+++ b/server/api/openchannelApplication/openchannelApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/index.js b/server/api/openchannelInteraction/index.js
index 6d0ad03..f7bb020 100644
--- a/server/api/openchannelInteraction/index.js
+++ b/server/api/openchannelInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.attributes.js b/server/api/openchannelInteraction/openchannelInteraction.attributes.js
index e4714e6..41ed489 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.attributes.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.controller.js b/server/api/openchannelInteraction/openchannelInteraction.controller.js
index c330041..d551102 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.controller.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.events.js b/server/api/openchannelInteraction/openchannelInteraction.events.js
index c739d75..7fa7b04 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.events.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.model.js b/server/api/openchannelInteraction/openchannelInteraction.model.js
index a145cb0..7ff6099 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.model.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.rpc.js b/server/api/openchannelInteraction/openchannelInteraction.rpc.js
index 0aedc99..a5f4c8e 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.rpc.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelInteraction/openchannelInteraction.socket.js b/server/api/openchannelInteraction/openchannelInteraction.socket.js
index 6234ac6..54d743d 100644
--- a/server/api/openchannelInteraction/openchannelInteraction.socket.js
+++ b/server/api/openchannelInteraction/openchannelInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/index.js b/server/api/openchannelMessage/index.js
index 71bb66c..404a90e 100644
--- a/server/api/openchannelMessage/index.js
+++ b/server/api/openchannelMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.attributes.js b/server/api/openchannelMessage/openchannelMessage.attributes.js
index d0c1f02..a761adb 100644
--- a/server/api/openchannelMessage/openchannelMessage.attributes.js
+++ b/server/api/openchannelMessage/openchannelMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.controller.js b/server/api/openchannelMessage/openchannelMessage.controller.js
index 60d7ea0..9f64610 100644
--- a/server/api/openchannelMessage/openchannelMessage.controller.js
+++ b/server/api/openchannelMessage/openchannelMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.events.js b/server/api/openchannelMessage/openchannelMessage.events.js
index 602ffcc..1c67ca2 100644
--- a/server/api/openchannelMessage/openchannelMessage.events.js
+++ b/server/api/openchannelMessage/openchannelMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.model.js b/server/api/openchannelMessage/openchannelMessage.model.js
index f7e17ad..1c6216f 100644
--- a/server/api/openchannelMessage/openchannelMessage.model.js
+++ b/server/api/openchannelMessage/openchannelMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.rpc.js b/server/api/openchannelMessage/openchannelMessage.rpc.js
index 223287d..5c43fe7 100644
--- a/server/api/openchannelMessage/openchannelMessage.rpc.js
+++ b/server/api/openchannelMessage/openchannelMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelMessage/openchannelMessage.socket.js b/server/api/openchannelMessage/openchannelMessage.socket.js
index b30c2e9..7b4d41e 100644
--- a/server/api/openchannelMessage/openchannelMessage.socket.js
+++ b/server/api/openchannelMessage/openchannelMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/index.js b/server/api/openchannelQueue/index.js
index ec79d33..79c2b6e 100644
--- a/server/api/openchannelQueue/index.js
+++ b/server/api/openchannelQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.attributes.js b/server/api/openchannelQueue/openchannelQueue.attributes.js
index 507d15e..5b2e3a6 100644
--- a/server/api/openchannelQueue/openchannelQueue.attributes.js
+++ b/server/api/openchannelQueue/openchannelQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.controller.js b/server/api/openchannelQueue/openchannelQueue.controller.js
index 85d97cf..3b5cb29 100644
--- a/server/api/openchannelQueue/openchannelQueue.controller.js
+++ b/server/api/openchannelQueue/openchannelQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.events.js b/server/api/openchannelQueue/openchannelQueue.events.js
index 3a80a9f..fbb453e 100644
--- a/server/api/openchannelQueue/openchannelQueue.events.js
+++ b/server/api/openchannelQueue/openchannelQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.model.js b/server/api/openchannelQueue/openchannelQueue.model.js
index 83b231c..6c739e0 100644
--- a/server/api/openchannelQueue/openchannelQueue.model.js
+++ b/server/api/openchannelQueue/openchannelQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.rpc.js b/server/api/openchannelQueue/openchannelQueue.rpc.js
index 1956ac7..fcb5dac 100644
--- a/server/api/openchannelQueue/openchannelQueue.rpc.js
+++ b/server/api/openchannelQueue/openchannelQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueue/openchannelQueue.socket.js b/server/api/openchannelQueue/openchannelQueue.socket.js
index 3e0d8a0..8aa0f56 100644
--- a/server/api/openchannelQueue/openchannelQueue.socket.js
+++ b/server/api/openchannelQueue/openchannelQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/index.js b/server/api/openchannelQueueReport/index.js
index 82bd7de..3b36241 100644
--- a/server/api/openchannelQueueReport/index.js
+++ b/server/api/openchannelQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js b/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
index 095341d..3b4f5e7 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.controller.js b/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
index d1e137d..43199dc 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.model.js b/server/api/openchannelQueueReport/openchannelQueueReport.model.js
index efc0090..4a88530 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.model.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js b/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
index 5e01b94..5b83fff 100644
--- a/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
+++ b/server/api/openchannelQueueReport/openchannelQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/index.js b/server/api/openchannelTransferReport/index.js
index ca5f4b4..75ba1bd 100644
--- a/server/api/openchannelTransferReport/index.js
+++ b/server/api/openchannelTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js b/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
index 713a4ca..addb771 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.controller.js b/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
index 1a9cbf3..b4ba8d4 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.model.js b/server/api/openchannelTransferReport/openchannelTransferReport.model.js
index 5de600f..6cb0572 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.model.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js b/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js
index fdfd376..c2481e3 100644
--- a/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js
+++ b/server/api/openchannelTransferReport/openchannelTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/index.js b/server/api/pause/index.js
index b10df29..1b983ce 100644
--- a/server/api/pause/index.js
+++ b/server/api/pause/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.attributes.js b/server/api/pause/pause.attributes.js
index eae8445..71d45b8 100644
--- a/server/api/pause/pause.attributes.js
+++ b/server/api/pause/pause.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.controller.js b/server/api/pause/pause.controller.js
index 264bd9d..1e685d3 100644
--- a/server/api/pause/pause.controller.js
+++ b/server/api/pause/pause.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.model.js b/server/api/pause/pause.model.js
index 513aa99..d2d6829 100644
--- a/server/api/pause/pause.model.js
+++ b/server/api/pause/pause.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pause/pause.rpc.js b/server/api/pause/pause.rpc.js
index 8eedb04..c1f62da 100644
--- a/server/api/pause/pause.rpc.js
+++ b/server/api/pause/pause.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/index.js b/server/api/plugin/index.js
index c909346..f85f5f7 100644
--- a/server/api/plugin/index.js
+++ b/server/api/plugin/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.attributes.js b/server/api/plugin/plugin.attributes.js
index f21c08c..7869d99 100644
--- a/server/api/plugin/plugin.attributes.js
+++ b/server/api/plugin/plugin.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.controller.js b/server/api/plugin/plugin.controller.js
index 2170112..0eada06 100644
--- a/server/api/plugin/plugin.controller.js
+++ b/server/api/plugin/plugin.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.events.js b/server/api/plugin/plugin.events.js
index 6da0a4b..f5c7485 100644
--- a/server/api/plugin/plugin.events.js
+++ b/server/api/plugin/plugin.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.model.js b/server/api/plugin/plugin.model.js
index 7d8c607..e20ac46 100644
--- a/server/api/plugin/plugin.model.js
+++ b/server/api/plugin/plugin.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.rpc.js b/server/api/plugin/plugin.rpc.js
index 8cc467e..6b047de 100644
--- a/server/api/plugin/plugin.rpc.js
+++ b/server/api/plugin/plugin.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/plugin/plugin.socket.js b/server/api/plugin/plugin.socket.js
index f3d6194..97ad5d0 100644
--- a/server/api/plugin/plugin.socket.js
+++ b/server/api/plugin/plugin.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pm2/index.js b/server/api/pm2/index.js
index 5cf2d8e..aacb29f 100644
--- a/server/api/pm2/index.js
+++ b/server/api/pm2/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/pm2/pm2.controller.js b/server/api/pm2/pm2.controller.js
index 33422e5..1a79136 100644
--- a/server/api/pm2/pm2.controller.js
+++ b/server/api/pm2/pm2.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/index.js b/server/api/reportAgentPreview/index.js
index 52dfeb0..5f8887e 100644
--- a/server/api/reportAgentPreview/index.js
+++ b/server/api/reportAgentPreview/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.attributes.js b/server/api/reportAgentPreview/reportAgentPreview.attributes.js
index 1f67e61..1a75270 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.attributes.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.model.js b/server/api/reportAgentPreview/reportAgentPreview.model.js
index fac7dd4..da90eb6 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.model.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/reportAgentPreview/reportAgentPreview.rpc.js b/server/api/reportAgentPreview/reportAgentPreview.rpc.js
index f7c6842..7d84c80 100644
--- a/server/api/reportAgentPreview/reportAgentPreview.rpc.js
+++ b/server/api/reportAgentPreview/reportAgentPreview.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/rpc/index.js b/server/api/rpc/index.js
index 4d2000e..323dd8f 100644
--- a/server/api/rpc/index.js
+++ b/server/api/rpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/rpc/rpc.controller.js b/server/api/rpc/rpc.controller.js
index cd8b123..05e4b56 100644
--- a/server/api/rpc/rpc.controller.js
+++ b/server/api/rpc/rpc.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/index.js b/server/api/schedule/index.js
index 2f4af4b..5f4455e 100644
--- a/server/api/schedule/index.js
+++ b/server/api/schedule/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.attributes.js b/server/api/schedule/schedule.attributes.js
index 2929f76..811831e 100644
--- a/server/api/schedule/schedule.attributes.js
+++ b/server/api/schedule/schedule.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.controller.js b/server/api/schedule/schedule.controller.js
index 63738bf..2e05420 100644
--- a/server/api/schedule/schedule.controller.js
+++ b/server/api/schedule/schedule.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.model.js b/server/api/schedule/schedule.model.js
index 8fecb1f..1eb4a1a 100644
--- a/server/api/schedule/schedule.model.js
+++ b/server/api/schedule/schedule.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/schedule/schedule.rpc.js b/server/api/schedule/schedule.rpc.js
index de3520c..4ec394f 100644
--- a/server/api/schedule/schedule.rpc.js
+++ b/server/api/schedule/schedule.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/index.js b/server/api/screenRecording/index.js
index f405db8..5ed3da3 100644
--- a/server/api/screenRecording/index.js
+++ b/server/api/screenRecording/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.attributes.js b/server/api/screenRecording/screenRecording.attributes.js
index 7f7f174..e601739 100644
--- a/server/api/screenRecording/screenRecording.attributes.js
+++ b/server/api/screenRecording/screenRecording.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.controller.js b/server/api/screenRecording/screenRecording.controller.js
index e3f8b7d..ced63d4 100644
--- a/server/api/screenRecording/screenRecording.controller.js
+++ b/server/api/screenRecording/screenRecording.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.model.js b/server/api/screenRecording/screenRecording.model.js
index d9cc163..d754b72 100644
--- a/server/api/screenRecording/screenRecording.model.js
+++ b/server/api/screenRecording/screenRecording.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/screenRecording/screenRecording.rpc.js b/server/api/screenRecording/screenRecording.rpc.js
index 42d169f..b5ff95c 100644
--- a/server/api/screenRecording/screenRecording.rpc.js
+++ b/server/api/screenRecording/screenRecording.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/index.js b/server/api/setting/index.js
index d1eb65b..dbc4158 100644
--- a/server/api/setting/index.js
+++ b/server/api/setting/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.attributes.js b/server/api/setting/setting.attributes.js
index f41748c..d3634d8 100644
--- a/server/api/setting/setting.attributes.js
+++ b/server/api/setting/setting.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.controller.js b/server/api/setting/setting.controller.js
index cb1637f..424cb61 100644
--- a/server/api/setting/setting.controller.js
+++ b/server/api/setting/setting.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.model.js b/server/api/setting/setting.model.js
index f7a6a83..d70705b 100644
--- a/server/api/setting/setting.model.js
+++ b/server/api/setting/setting.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/setting/setting.rpc.js b/server/api/setting/setting.rpc.js
index 9391e7d..a7b9be0 100644
--- a/server/api/setting/setting.rpc.js
+++ b/server/api/setting/setting.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/index.js b/server/api/smsAccount/index.js
index cca3b48..ebcc8de 100644
--- a/server/api/smsAccount/index.js
+++ b/server/api/smsAccount/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.attributes.js b/server/api/smsAccount/smsAccount.attributes.js
index 25bb5d2..05a2df6 100644
--- a/server/api/smsAccount/smsAccount.attributes.js
+++ b/server/api/smsAccount/smsAccount.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.controller.js b/server/api/smsAccount/smsAccount.controller.js
index 51316a9..842e4f4 100644
--- a/server/api/smsAccount/smsAccount.controller.js
+++ b/server/api/smsAccount/smsAccount.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.events.js b/server/api/smsAccount/smsAccount.events.js
index cd3172d..df72b88 100644
--- a/server/api/smsAccount/smsAccount.events.js
+++ b/server/api/smsAccount/smsAccount.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.model.js b/server/api/smsAccount/smsAccount.model.js
index 7d5c6fb..10d4137 100644
--- a/server/api/smsAccount/smsAccount.model.js
+++ b/server/api/smsAccount/smsAccount.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.rpc.js b/server/api/smsAccount/smsAccount.rpc.js
index 307216e..e4caec8 100644
--- a/server/api/smsAccount/smsAccount.rpc.js
+++ b/server/api/smsAccount/smsAccount.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsAccount/smsAccount.socket.js b/server/api/smsAccount/smsAccount.socket.js
index c039e80..c660520 100644
--- a/server/api/smsAccount/smsAccount.socket.js
+++ b/server/api/smsAccount/smsAccount.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/index.js b/server/api/smsApplication/index.js
index f9abba3..3819f79 100644
--- a/server/api/smsApplication/index.js
+++ b/server/api/smsApplication/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.attributes.js b/server/api/smsApplication/smsApplication.attributes.js
index 82b69a9..0d7c9a4 100644
--- a/server/api/smsApplication/smsApplication.attributes.js
+++ b/server/api/smsApplication/smsApplication.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.controller.js b/server/api/smsApplication/smsApplication.controller.js
index 2a3540a..0c8a8b1 100644
--- a/server/api/smsApplication/smsApplication.controller.js
+++ b/server/api/smsApplication/smsApplication.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.model.js b/server/api/smsApplication/smsApplication.model.js
index 9ad0612..f6cabc7 100644
--- a/server/api/smsApplication/smsApplication.model.js
+++ b/server/api/smsApplication/smsApplication.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsApplication/smsApplication.rpc.js b/server/api/smsApplication/smsApplication.rpc.js
index 091a971..4363e9c 100644
--- a/server/api/smsApplication/smsApplication.rpc.js
+++ b/server/api/smsApplication/smsApplication.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/index.js b/server/api/smsInteraction/index.js
index 2aacca0..0c6fd4f 100644
--- a/server/api/smsInteraction/index.js
+++ b/server/api/smsInteraction/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.attributes.js b/server/api/smsInteraction/smsInteraction.attributes.js
index 673a83a..423485a 100644
--- a/server/api/smsInteraction/smsInteraction.attributes.js
+++ b/server/api/smsInteraction/smsInteraction.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.controller.js b/server/api/smsInteraction/smsInteraction.controller.js
index d7f1b50..f2d27b7 100644
--- a/server/api/smsInteraction/smsInteraction.controller.js
+++ b/server/api/smsInteraction/smsInteraction.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.events.js b/server/api/smsInteraction/smsInteraction.events.js
index 0e6f784..4326fb3 100644
--- a/server/api/smsInteraction/smsInteraction.events.js
+++ b/server/api/smsInteraction/smsInteraction.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.model.js b/server/api/smsInteraction/smsInteraction.model.js
index 7a04ecd..3e165dd 100644
--- a/server/api/smsInteraction/smsInteraction.model.js
+++ b/server/api/smsInteraction/smsInteraction.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.rpc.js b/server/api/smsInteraction/smsInteraction.rpc.js
index e6b6093..51f3df1 100644
--- a/server/api/smsInteraction/smsInteraction.rpc.js
+++ b/server/api/smsInteraction/smsInteraction.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsInteraction/smsInteraction.socket.js b/server/api/smsInteraction/smsInteraction.socket.js
index 5576c8c..058fbca 100644
--- a/server/api/smsInteraction/smsInteraction.socket.js
+++ b/server/api/smsInteraction/smsInteraction.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/index.js b/server/api/smsMessage/index.js
index 20261cc..46307ac 100644
--- a/server/api/smsMessage/index.js
+++ b/server/api/smsMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.attributes.js b/server/api/smsMessage/smsMessage.attributes.js
index dff8abd..042c2b5 100644
--- a/server/api/smsMessage/smsMessage.attributes.js
+++ b/server/api/smsMessage/smsMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.controller.js b/server/api/smsMessage/smsMessage.controller.js
index ba50169..944a310 100644
--- a/server/api/smsMessage/smsMessage.controller.js
+++ b/server/api/smsMessage/smsMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.events.js b/server/api/smsMessage/smsMessage.events.js
index fcc7281..c9acaff 100644
--- a/server/api/smsMessage/smsMessage.events.js
+++ b/server/api/smsMessage/smsMessage.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.model.js b/server/api/smsMessage/smsMessage.model.js
index 8ecd712..115be1a 100644
--- a/server/api/smsMessage/smsMessage.model.js
+++ b/server/api/smsMessage/smsMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.rpc.js b/server/api/smsMessage/smsMessage.rpc.js
index 615672d..a31abf6 100644
--- a/server/api/smsMessage/smsMessage.rpc.js
+++ b/server/api/smsMessage/smsMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsMessage/smsMessage.socket.js b/server/api/smsMessage/smsMessage.socket.js
index df0c9ae..c162b79 100644
--- a/server/api/smsMessage/smsMessage.socket.js
+++ b/server/api/smsMessage/smsMessage.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/index.js b/server/api/smsQueue/index.js
index 0a4d5b0..47d0712 100644
--- a/server/api/smsQueue/index.js
+++ b/server/api/smsQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.attributes.js b/server/api/smsQueue/smsQueue.attributes.js
index 4251b3d..821c84c 100644
--- a/server/api/smsQueue/smsQueue.attributes.js
+++ b/server/api/smsQueue/smsQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.controller.js b/server/api/smsQueue/smsQueue.controller.js
index b47399b..eac8cbc 100644
--- a/server/api/smsQueue/smsQueue.controller.js
+++ b/server/api/smsQueue/smsQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.events.js b/server/api/smsQueue/smsQueue.events.js
index 0ab0fa1..88bbd24 100644
--- a/server/api/smsQueue/smsQueue.events.js
+++ b/server/api/smsQueue/smsQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.model.js b/server/api/smsQueue/smsQueue.model.js
index 3662bfb..f98541b 100644
--- a/server/api/smsQueue/smsQueue.model.js
+++ b/server/api/smsQueue/smsQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.rpc.js b/server/api/smsQueue/smsQueue.rpc.js
index 24a1a88..7650a09 100644
--- a/server/api/smsQueue/smsQueue.rpc.js
+++ b/server/api/smsQueue/smsQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueue/smsQueue.socket.js b/server/api/smsQueue/smsQueue.socket.js
index 88c089c..49641bd 100644
--- a/server/api/smsQueue/smsQueue.socket.js
+++ b/server/api/smsQueue/smsQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/index.js b/server/api/smsQueueReport/index.js
index e8b398a..df44472 100644
--- a/server/api/smsQueueReport/index.js
+++ b/server/api/smsQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.attributes.js b/server/api/smsQueueReport/smsQueueReport.attributes.js
index 413207c..cfdce5a 100644
--- a/server/api/smsQueueReport/smsQueueReport.attributes.js
+++ b/server/api/smsQueueReport/smsQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.controller.js b/server/api/smsQueueReport/smsQueueReport.controller.js
index ac64b1a..4988ae6 100644
--- a/server/api/smsQueueReport/smsQueueReport.controller.js
+++ b/server/api/smsQueueReport/smsQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.model.js b/server/api/smsQueueReport/smsQueueReport.model.js
index b330237..16b59b6 100644
--- a/server/api/smsQueueReport/smsQueueReport.model.js
+++ b/server/api/smsQueueReport/smsQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsQueueReport/smsQueueReport.rpc.js b/server/api/smsQueueReport/smsQueueReport.rpc.js
index d495280..171da20 100644
--- a/server/api/smsQueueReport/smsQueueReport.rpc.js
+++ b/server/api/smsQueueReport/smsQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/index.js b/server/api/smsTransferReport/index.js
index 1c96cea..5320104 100644
--- a/server/api/smsTransferReport/index.js
+++ b/server/api/smsTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.attributes.js b/server/api/smsTransferReport/smsTransferReport.attributes.js
index fb71c05..4a98dc3 100644
--- a/server/api/smsTransferReport/smsTransferReport.attributes.js
+++ b/server/api/smsTransferReport/smsTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.controller.js b/server/api/smsTransferReport/smsTransferReport.controller.js
index e484230..6ab3d0b 100644
--- a/server/api/smsTransferReport/smsTransferReport.controller.js
+++ b/server/api/smsTransferReport/smsTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.model.js b/server/api/smsTransferReport/smsTransferReport.model.js
index 912aadb..cfc7070 100644
--- a/server/api/smsTransferReport/smsTransferReport.model.js
+++ b/server/api/smsTransferReport/smsTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/smsTransferReport/smsTransferReport.rpc.js b/server/api/smsTransferReport/smsTransferReport.rpc.js
index 1e6c5f8..72f24ab 100644
--- a/server/api/smsTransferReport/smsTransferReport.rpc.js
+++ b/server/api/smsTransferReport/smsTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/index.js b/server/api/sound/index.js
index 2c45c53..5efb93a 100644
--- a/server/api/sound/index.js
+++ b/server/api/sound/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.attributes.js b/server/api/sound/sound.attributes.js
index 808b740..b692583 100644
--- a/server/api/sound/sound.attributes.js
+++ b/server/api/sound/sound.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.controller.js b/server/api/sound/sound.controller.js
index 1d82858..ec596b5 100644
--- a/server/api/sound/sound.controller.js
+++ b/server/api/sound/sound.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.model.js b/server/api/sound/sound.model.js
index 5a8e2ad..a578fd2 100644
--- a/server/api/sound/sound.model.js
+++ b/server/api/sound/sound.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/sound/sound.rpc.js b/server/api/sound/sound.rpc.js
index ea4fa28..6e5cbda 100644
--- a/server/api/sound/sound.rpc.js
+++ b/server/api/sound/sound.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/index.js b/server/api/squareMessage/index.js
index 3ffa7d5..f28b461 100644
--- a/server/api/squareMessage/index.js
+++ b/server/api/squareMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.attributes.js b/server/api/squareMessage/squareMessage.attributes.js
index 7b06c5b..5675c1d 100644
--- a/server/api/squareMessage/squareMessage.attributes.js
+++ b/server/api/squareMessage/squareMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.controller.js b/server/api/squareMessage/squareMessage.controller.js
index bedf6cc..b01d5ce 100644
--- a/server/api/squareMessage/squareMessage.controller.js
+++ b/server/api/squareMessage/squareMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.model.js b/server/api/squareMessage/squareMessage.model.js
index 37ba7f2..194d64a 100644
--- a/server/api/squareMessage/squareMessage.model.js
+++ b/server/api/squareMessage/squareMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareMessage/squareMessage.rpc.js b/server/api/squareMessage/squareMessage.rpc.js
index 5c1480d..f15a99e 100644
--- a/server/api/squareMessage/squareMessage.rpc.js
+++ b/server/api/squareMessage/squareMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/index.js b/server/api/squareOdbc/index.js
index dc7af2d..c1ed839 100644
--- a/server/api/squareOdbc/index.js
+++ b/server/api/squareOdbc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.attributes.js b/server/api/squareOdbc/squareOdbc.attributes.js
index d198bec..b800813 100644
--- a/server/api/squareOdbc/squareOdbc.attributes.js
+++ b/server/api/squareOdbc/squareOdbc.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.controller.js b/server/api/squareOdbc/squareOdbc.controller.js
index a37159e..c64ab5a 100644
--- a/server/api/squareOdbc/squareOdbc.controller.js
+++ b/server/api/squareOdbc/squareOdbc.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.model.js b/server/api/squareOdbc/squareOdbc.model.js
index 9359727..a484e71 100644
--- a/server/api/squareOdbc/squareOdbc.model.js
+++ b/server/api/squareOdbc/squareOdbc.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareOdbc/squareOdbc.rpc.js b/server/api/squareOdbc/squareOdbc.rpc.js
index 55e4523..4fd5560 100644
--- a/server/api/squareOdbc/squareOdbc.rpc.js
+++ b/server/api/squareOdbc/squareOdbc.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/index.js b/server/api/squareProject/index.js
index 8407774..9941fc2 100644
--- a/server/api/squareProject/index.js
+++ b/server/api/squareProject/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.attributes.js b/server/api/squareProject/squareProject.attributes.js
index 174811c..7beed6d 100644
--- a/server/api/squareProject/squareProject.attributes.js
+++ b/server/api/squareProject/squareProject.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.controller.js b/server/api/squareProject/squareProject.controller.js
index 8d9122d..936be6c 100644
--- a/server/api/squareProject/squareProject.controller.js
+++ b/server/api/squareProject/squareProject.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.events.js b/server/api/squareProject/squareProject.events.js
index a2c75ff..4b032cc 100644
--- a/server/api/squareProject/squareProject.events.js
+++ b/server/api/squareProject/squareProject.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.model.js b/server/api/squareProject/squareProject.model.js
index 086a30f..ed6fb7d 100644
--- a/server/api/squareProject/squareProject.model.js
+++ b/server/api/squareProject/squareProject.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.rpc.js b/server/api/squareProject/squareProject.rpc.js
index 68d3c86..470ebd1 100644
--- a/server/api/squareProject/squareProject.rpc.js
+++ b/server/api/squareProject/squareProject.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareProject/squareProject.socket.js b/server/api/squareProject/squareProject.socket.js
index 0a1bfb5..24967e6 100644
--- a/server/api/squareProject/squareProject.socket.js
+++ b/server/api/squareProject/squareProject.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/index.js b/server/api/squareRecording/index.js
index a23a082..4a26d34 100644
--- a/server/api/squareRecording/index.js
+++ b/server/api/squareRecording/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.attributes.js b/server/api/squareRecording/squareRecording.attributes.js
index 33717aa..030aea7 100644
--- a/server/api/squareRecording/squareRecording.attributes.js
+++ b/server/api/squareRecording/squareRecording.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.controller.js b/server/api/squareRecording/squareRecording.controller.js
index f435986..ea8fb25 100644
--- a/server/api/squareRecording/squareRecording.controller.js
+++ b/server/api/squareRecording/squareRecording.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.model.js b/server/api/squareRecording/squareRecording.model.js
index 871a3c0..a195bf5 100644
--- a/server/api/squareRecording/squareRecording.model.js
+++ b/server/api/squareRecording/squareRecording.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareRecording/squareRecording.rpc.js b/server/api/squareRecording/squareRecording.rpc.js
index 6b7fb74..6b742c4 100644
--- a/server/api/squareRecording/squareRecording.rpc.js
+++ b/server/api/squareRecording/squareRecording.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/index.js b/server/api/squareReport/index.js
index 48b6839..4e8e9bf 100644
--- a/server/api/squareReport/index.js
+++ b/server/api/squareReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.attributes.js b/server/api/squareReport/squareReport.attributes.js
index 9a7f652..ac167d7 100644
--- a/server/api/squareReport/squareReport.attributes.js
+++ b/server/api/squareReport/squareReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.controller.js b/server/api/squareReport/squareReport.controller.js
index 9f5475e..eabb37d 100644
--- a/server/api/squareReport/squareReport.controller.js
+++ b/server/api/squareReport/squareReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.model.js b/server/api/squareReport/squareReport.model.js
index 21bb290..964d6bc 100644
--- a/server/api/squareReport/squareReport.model.js
+++ b/server/api/squareReport/squareReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReport/squareReport.rpc.js b/server/api/squareReport/squareReport.rpc.js
index b7a08b9..bab9fe3 100644
--- a/server/api/squareReport/squareReport.rpc.js
+++ b/server/api/squareReport/squareReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/index.js b/server/api/squareReportDetail/index.js
index ea2b0cb..fb81063 100644
--- a/server/api/squareReportDetail/index.js
+++ b/server/api/squareReportDetail/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.attributes.js b/server/api/squareReportDetail/squareReportDetail.attributes.js
index e593218..e7f84ed 100644
--- a/server/api/squareReportDetail/squareReportDetail.attributes.js
+++ b/server/api/squareReportDetail/squareReportDetail.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.controller.js b/server/api/squareReportDetail/squareReportDetail.controller.js
index 68d9c3e..b7b3b78 100644
--- a/server/api/squareReportDetail/squareReportDetail.controller.js
+++ b/server/api/squareReportDetail/squareReportDetail.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.model.js b/server/api/squareReportDetail/squareReportDetail.model.js
index 2cf5990..ef40957 100644
--- a/server/api/squareReportDetail/squareReportDetail.model.js
+++ b/server/api/squareReportDetail/squareReportDetail.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/squareReportDetail/squareReportDetail.rpc.js b/server/api/squareReportDetail/squareReportDetail.rpc.js
index bfa0fd9..cb1db20 100644
--- a/server/api/squareReportDetail/squareReportDetail.rpc.js
+++ b/server/api/squareReportDetail/squareReportDetail.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/system/index.js b/server/api/system/index.js
index cef6abb..baa83f4 100644
--- a/server/api/system/index.js
+++ b/server/api/system/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/system/system.controller.js b/server/api/system/system.controller.js
index 3aa29da..da4c2e6 100644
--- a/server/api/system/system.controller.js
+++ b/server/api/system/system.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/index.js b/server/api/tag/index.js
index 3413101..9bcbb7f 100644
--- a/server/api/tag/index.js
+++ b/server/api/tag/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.attributes.js b/server/api/tag/tag.attributes.js
index f956fb5..07c2d9a 100644
--- a/server/api/tag/tag.attributes.js
+++ b/server/api/tag/tag.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.controller.js b/server/api/tag/tag.controller.js
index 9cd4ab1..4b4c1c7 100644
--- a/server/api/tag/tag.controller.js
+++ b/server/api/tag/tag.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.model.js b/server/api/tag/tag.model.js
index 2b84a69..a691ae3 100644
--- a/server/api/tag/tag.model.js
+++ b/server/api/tag/tag.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/tag/tag.rpc.js b/server/api/tag/tag.rpc.js
index db57665..d82e5e1 100644
--- a/server/api/tag/tag.rpc.js
+++ b/server/api/tag/tag.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/index.js b/server/api/team/index.js
index b7f5e18..e4ca0b4 100644
--- a/server/api/team/index.js
+++ b/server/api/team/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.attributes.js b/server/api/team/team.attributes.js
index b883fe0..74c4393 100644
--- a/server/api/team/team.attributes.js
+++ b/server/api/team/team.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.controller.js b/server/api/team/team.controller.js
index 7b1ae59..23bdd59 100644
--- a/server/api/team/team.controller.js
+++ b/server/api/team/team.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.events.js b/server/api/team/team.events.js
index 96a2c66..dfc0f5f 100644
--- a/server/api/team/team.events.js
+++ b/server/api/team/team.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.model.js b/server/api/team/team.model.js
index 5b6e7a7..ee5c3ac 100644
--- a/server/api/team/team.model.js
+++ b/server/api/team/team.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.rpc.js b/server/api/team/team.rpc.js
index 8db5971..742d17f 100644
--- a/server/api/team/team.rpc.js
+++ b/server/api/team/team.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/team/team.socket.js b/server/api/team/team.socket.js
index 031cd15..b7d8249 100644
--- a/server/api/team/team.socket.js
+++ b/server/api/team/team.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/index.js b/server/api/template/index.js
index ca52eb7..9db934a 100644
--- a/server/api/template/index.js
+++ b/server/api/template/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.attributes.js b/server/api/template/template.attributes.js
index ae7cdd0..87f497b 100644
--- a/server/api/template/template.attributes.js
+++ b/server/api/template/template.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.controller.js b/server/api/template/template.controller.js
index 6ae5aae..42a4327 100644
--- a/server/api/template/template.controller.js
+++ b/server/api/template/template.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.model.js b/server/api/template/template.model.js
index 200a056..3eefa49 100644
--- a/server/api/template/template.model.js
+++ b/server/api/template/template.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/template/template.rpc.js b/server/api/template/template.rpc.js
index ab3bb9a..93e8041 100644
--- a/server/api/template/template.rpc.js
+++ b/server/api/template/template.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/index.js b/server/api/trigger/index.js
index 322ae65..6cb6a9d 100644
--- a/server/api/trigger/index.js
+++ b/server/api/trigger/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.attributes.js b/server/api/trigger/trigger.attributes.js
index 1425526..c2ede31 100644
--- a/server/api/trigger/trigger.attributes.js
+++ b/server/api/trigger/trigger.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.controller.js b/server/api/trigger/trigger.controller.js
index 6fbe423..b55eeaa 100644
--- a/server/api/trigger/trigger.controller.js
+++ b/server/api/trigger/trigger.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.model.js b/server/api/trigger/trigger.model.js
index 224199b..952373e 100644
--- a/server/api/trigger/trigger.model.js
+++ b/server/api/trigger/trigger.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trigger/trigger.rpc.js b/server/api/trigger/trigger.rpc.js
index 7126e71..37b9557 100644
--- a/server/api/trigger/trigger.rpc.js
+++ b/server/api/trigger/trigger.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/index.js b/server/api/trunk/index.js
index 1603d04..e353551 100644
--- a/server/api/trunk/index.js
+++ b/server/api/trunk/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.attributes.js b/server/api/trunk/trunk.attributes.js
index 71907a1..f8f981e 100644
--- a/server/api/trunk/trunk.attributes.js
+++ b/server/api/trunk/trunk.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.controller.js b/server/api/trunk/trunk.controller.js
index 6e7168d..0a17474 100644
--- a/server/api/trunk/trunk.controller.js
+++ b/server/api/trunk/trunk.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.model.js b/server/api/trunk/trunk.model.js
index c268130..66364cf 100644
--- a/server/api/trunk/trunk.model.js
+++ b/server/api/trunk/trunk.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/trunk/trunk.rpc.js b/server/api/trunk/trunk.rpc.js
index d32b96c..78f787f 100644
--- a/server/api/trunk/trunk.rpc.js
+++ b/server/api/trunk/trunk.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/index.js b/server/api/user/index.js
index 1b55957..df5ff1c 100644
--- a/server/api/user/index.js
+++ b/server/api/user/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.attributes.js b/server/api/user/user.attributes.js
index 98a99ac..ef22ab9 100644
--- a/server/api/user/user.attributes.js
+++ b/server/api/user/user.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.controller.js b/server/api/user/user.controller.js
index 0c4a377..b4ed275 100644
--- a/server/api/user/user.controller.js
+++ b/server/api/user/user.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.events.js b/server/api/user/user.events.js
index bab2bf1..98b7f69 100644
--- a/server/api/user/user.events.js
+++ b/server/api/user/user.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.model.js b/server/api/user/user.model.js
index 4dffa80..dc28f9c 100644
--- a/server/api/user/user.model.js
+++ b/server/api/user/user.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.rpc.js b/server/api/user/user.rpc.js
index 970c303..2732028 100644
--- a/server/api/user/user.rpc.js
+++ b/server/api/user/user.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/user/user.socket.js b/server/api/user/user.socket.js
index 116654e..ebf4da1 100644
--- a/server/api/user/user.socket.js
+++ b/server/api/user/user.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/index.js b/server/api/userChatQueue/index.js
index 74e9aec..199d8ea 100644
--- a/server/api/userChatQueue/index.js
+++ b/server/api/userChatQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.attributes.js b/server/api/userChatQueue/userChatQueue.attributes.js
index 7bae927..ecdec73 100644
--- a/server/api/userChatQueue/userChatQueue.attributes.js
+++ b/server/api/userChatQueue/userChatQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x806c=['exports','INTEGER','sequelize'];(function(_0x328a67,_0x45039f){var _0x3c6fa7=function(_0x201576){while(--_0x201576){_0x328a67['push'](_0x328a67['shift']());}};_0x3c6fa7(++_0x45039f);}(_0x806c,0xb9));var _0xc806=function(_0x35181c,_0x82694a){_0x35181c=_0x35181c-0x0;var _0xe14bf9=_0x806c[_0x35181c];return _0xe14bf9;};'use strict';var Sequelize=require(_0xc806('0x0'));module[_0xc806('0x1')]={'penalty':{'type':Sequelize[_0xc806('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0x9029=['sequelize'];(function(_0x5bb4e8,_0x44b756){var _0x2a86f2=function(_0x279ab2){while(--_0x279ab2){_0x5bb4e8['push'](_0x5bb4e8['shift']());}};_0x2a86f2(++_0x44b756);}(_0x9029,0x177));var _0x9902=function(_0x4f8860,_0xa371eb){_0x4f8860=_0x4f8860-0x0;var _0x4d8657=_0x9029[_0x4f8860];return _0x4d8657;};'use strict';var Sequelize=require(_0x9902('0x0'));module['exports']={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.model.js b/server/api/userChatQueue/userChatQueue.model.js
index 585fc18..f96ceac 100644
--- a/server/api/userChatQueue/userChatQueue.model.js
+++ b/server/api/userChatQueue/userChatQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userChatQueue/userChatQueue.rpc.js b/server/api/userChatQueue/userChatQueue.rpc.js
index 8c66b14..ca54e7c 100644
--- a/server/api/userChatQueue/userChatQueue.rpc.js
+++ b/server/api/userChatQueue/userChatQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/index.js b/server/api/userFaxQueue/index.js
index 5c5e6f7..c90ab7d 100644
--- a/server/api/userFaxQueue/index.js
+++ b/server/api/userFaxQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.attributes.js b/server/api/userFaxQueue/userFaxQueue.attributes.js
index 2a4f28e..5f92e37 100644
--- a/server/api/userFaxQueue/userFaxQueue.attributes.js
+++ b/server/api/userFaxQueue/userFaxQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.model.js b/server/api/userFaxQueue/userFaxQueue.model.js
index 87f12d7..70aab8e 100644
--- a/server/api/userFaxQueue/userFaxQueue.model.js
+++ b/server/api/userFaxQueue/userFaxQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userFaxQueue/userFaxQueue.rpc.js b/server/api/userFaxQueue/userFaxQueue.rpc.js
index 1d6f40a..533e216 100644
--- a/server/api/userFaxQueue/userFaxQueue.rpc.js
+++ b/server/api/userFaxQueue/userFaxQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/index.js b/server/api/userMailQueue/index.js
index bf40a96..c499d1b 100644
--- a/server/api/userMailQueue/index.js
+++ b/server/api/userMailQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.attributes.js b/server/api/userMailQueue/userMailQueue.attributes.js
index 790f303..1b35979 100644
--- a/server/api/userMailQueue/userMailQueue.attributes.js
+++ b/server/api/userMailQueue/userMailQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xcfed=['exports','INTEGER','sequelize'];(function(_0x7cdf5f,_0x72115c){var _0x3e281c=function(_0x17c17b){while(--_0x17c17b){_0x7cdf5f['push'](_0x7cdf5f['shift']());}};_0x3e281c(++_0x72115c);}(_0xcfed,0x134));var _0xdcfe=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0xcfed[_0xa464c9];return _0x3d73c4;};'use strict';var Sequelize=require(_0xdcfe('0x0'));module[_0xdcfe('0x1')]={'penalty':{'type':Sequelize[_0xdcfe('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0x5757=['exports','INTEGER'];(function(_0x3740fe,_0x6c543c){var _0x55492b=function(_0x1f851f){while(--_0x1f851f){_0x3740fe['push'](_0x3740fe['shift']());}};_0x55492b(++_0x6c543c);}(_0x5757,0x140));var _0x7575=function(_0x570d81,_0x623ca4){_0x570d81=_0x570d81-0x0;var _0x41686b=_0x5757[_0x570d81];return _0x41686b;};'use strict';var Sequelize=require('sequelize');module[_0x7575('0x0')]={'penalty':{'type':Sequelize[_0x7575('0x1')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.model.js b/server/api/userMailQueue/userMailQueue.model.js
index f032dbc..0467eb4 100644
--- a/server/api/userMailQueue/userMailQueue.model.js
+++ b/server/api/userMailQueue/userMailQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userMailQueue/userMailQueue.rpc.js b/server/api/userMailQueue/userMailQueue.rpc.js
index 8d5afea..2648d07 100644
--- a/server/api/userMailQueue/userMailQueue.rpc.js
+++ b/server/api/userMailQueue/userMailQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/index.js b/server/api/userOpenchannelQueue/index.js
index 5feb799..f607a71 100644
--- a/server/api/userOpenchannelQueue/index.js
+++ b/server/api/userOpenchannelQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
index 890ce6a..61a3806 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x0782=['INTEGER','sequelize','exports'];(function(_0x56d0d2,_0x1e4e70){var _0x4326c4=function(_0x30ed62){while(--_0x30ed62){_0x56d0d2['push'](_0x56d0d2['shift']());}};_0x4326c4(++_0x1e4e70);}(_0x0782,0x1ab));var _0x2078=function(_0xd7b0a4,_0x53c7d3){_0xd7b0a4=_0xd7b0a4-0x0;var _0x184e9e=_0x0782[_0xd7b0a4];return _0x184e9e;};'use strict';var Sequelize=require(_0x2078('0x0'));module[_0x2078('0x1')]={'penalty':{'type':Sequelize[_0x2078('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0x27ac=['sequelize','exports','INTEGER'];(function(_0x40b9b5,_0x149980){var _0x126c24=function(_0x415cc5){while(--_0x415cc5){_0x40b9b5['push'](_0x40b9b5['shift']());}};_0x126c24(++_0x149980);}(_0x27ac,0xc3));var _0xc27a=function(_0x26c02f,_0xe7303e){_0x26c02f=_0x26c02f-0x0;var _0x44bd50=_0x27ac[_0x26c02f];return _0x44bd50;};'use strict';var Sequelize=require(_0xc27a('0x0'));module[_0xc27a('0x1')]={'penalty':{'type':Sequelize[_0xc27a('0x2')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
index 9fabc8c..dfbdc86 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js b/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js
index 42e1aaa..c006d2f 100644
--- a/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js
+++ b/server/api/userOpenchannelQueue/userOpenchannelQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/index.js b/server/api/userProfile/index.js
index fcdf331..40d7c87 100644
--- a/server/api/userProfile/index.js
+++ b/server/api/userProfile/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.attributes.js b/server/api/userProfile/userProfile.attributes.js
index 5113d21..a201c14 100644
--- a/server/api/userProfile/userProfile.attributes.js
+++ b/server/api/userProfile/userProfile.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.controller.js b/server/api/userProfile/userProfile.controller.js
index 410cdd2..1461f37 100644
--- a/server/api/userProfile/userProfile.controller.js
+++ b/server/api/userProfile/userProfile.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.events.js b/server/api/userProfile/userProfile.events.js
index 6ba4856..8c6cb49 100644
--- a/server/api/userProfile/userProfile.events.js
+++ b/server/api/userProfile/userProfile.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.model.js b/server/api/userProfile/userProfile.model.js
index d7de923..8651908 100644
--- a/server/api/userProfile/userProfile.model.js
+++ b/server/api/userProfile/userProfile.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.rpc.js b/server/api/userProfile/userProfile.rpc.js
index 0006493..74dfe77 100644
--- a/server/api/userProfile/userProfile.rpc.js
+++ b/server/api/userProfile/userProfile.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfile/userProfile.socket.js b/server/api/userProfile/userProfile.socket.js
index 3cc2634..2d2f7b5 100644
--- a/server/api/userProfile/userProfile.socket.js
+++ b/server/api/userProfile/userProfile.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/index.js b/server/api/userProfileResource/index.js
index 2faba5f..85ba84b 100644
--- a/server/api/userProfileResource/index.js
+++ b/server/api/userProfileResource/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.attributes.js b/server/api/userProfileResource/userProfileResource.attributes.js
index 8a62f19..483eb44 100644
--- a/server/api/userProfileResource/userProfileResource.attributes.js
+++ b/server/api/userProfileResource/userProfileResource.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.controller.js b/server/api/userProfileResource/userProfileResource.controller.js
index ffc3981..461b0fb 100644
--- a/server/api/userProfileResource/userProfileResource.controller.js
+++ b/server/api/userProfileResource/userProfileResource.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.model.js b/server/api/userProfileResource/userProfileResource.model.js
index 58fae51..67f6935 100644
--- a/server/api/userProfileResource/userProfileResource.model.js
+++ b/server/api/userProfileResource/userProfileResource.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileResource/userProfileResource.rpc.js b/server/api/userProfileResource/userProfileResource.rpc.js
index 92826ed..2dfb869 100644
--- a/server/api/userProfileResource/userProfileResource.rpc.js
+++ b/server/api/userProfileResource/userProfileResource.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/index.js b/server/api/userProfileSection/index.js
index 1eaba75..f1040bd 100644
--- a/server/api/userProfileSection/index.js
+++ b/server/api/userProfileSection/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.attributes.js b/server/api/userProfileSection/userProfileSection.attributes.js
index 42bf135..38526e4 100644
--- a/server/api/userProfileSection/userProfileSection.attributes.js
+++ b/server/api/userProfileSection/userProfileSection.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.controller.js b/server/api/userProfileSection/userProfileSection.controller.js
index db8007e..49681c6 100644
--- a/server/api/userProfileSection/userProfileSection.controller.js
+++ b/server/api/userProfileSection/userProfileSection.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.model.js b/server/api/userProfileSection/userProfileSection.model.js
index 39f037f..b9c3c28 100644
--- a/server/api/userProfileSection/userProfileSection.model.js
+++ b/server/api/userProfileSection/userProfileSection.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userProfileSection/userProfileSection.rpc.js b/server/api/userProfileSection/userProfileSection.rpc.js
index 517a85c..146df3d 100644
--- a/server/api/userProfileSection/userProfileSection.rpc.js
+++ b/server/api/userProfileSection/userProfileSection.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/index.js b/server/api/userSmsQueue/index.js
index 67e3d8a..2f804f4 100644
--- a/server/api/userSmsQueue/index.js
+++ b/server/api/userSmsQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.attributes.js b/server/api/userSmsQueue/userSmsQueue.attributes.js
index b7adb29..5912a02 100644
--- a/server/api/userSmsQueue/userSmsQueue.attributes.js
+++ b/server/api/userSmsQueue/userSmsQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x9ca3=['sequelize'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0x9ca3,0x15e));var _0x39ca=function(_0xe84e57,_0x389a2d){_0xe84e57=_0xe84e57-0x0;var _0x334293=_0x9ca3[_0xe84e57];return _0x334293;};'use strict';var Sequelize=require(_0x39ca('0x0'));module['exports']={'penalty':{'type':Sequelize['INTEGER'],'defaultValue':0x0}};
\ No newline at end of file
+var _0x7fec=['INTEGER','sequelize','exports'];(function(_0x4acef5,_0x56618f){var _0x5dc8a2=function(_0x40b1ba){while(--_0x40b1ba){_0x4acef5['push'](_0x4acef5['shift']());}};_0x5dc8a2(++_0x56618f);}(_0x7fec,0x1c0));var _0xc7fe=function(_0x163440,_0x524d62){_0x163440=_0x163440-0x0;var _0x4fe3e1=_0x7fec[_0x163440];return _0x4fe3e1;};'use strict';var Sequelize=require(_0xc7fe('0x0'));module[_0xc7fe('0x1')]={'penalty':{'type':Sequelize[_0xc7fe('0x2')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.model.js b/server/api/userSmsQueue/userSmsQueue.model.js
index 9948e94..9b7288f 100644
--- a/server/api/userSmsQueue/userSmsQueue.model.js
+++ b/server/api/userSmsQueue/userSmsQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userSmsQueue/userSmsQueue.rpc.js b/server/api/userSmsQueue/userSmsQueue.rpc.js
index 035162b..43e330b 100644
--- a/server/api/userSmsQueue/userSmsQueue.rpc.js
+++ b/server/api/userSmsQueue/userSmsQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/index.js b/server/api/userVoiceQueue/index.js
index 7d7ccdc..20a855a 100644
--- a/server/api/userVoiceQueue/index.js
+++ b/server/api/userVoiceQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.attributes.js b/server/api/userVoiceQueue/userVoiceQueue.attributes.js
index b60eea3..063444e 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.attributes.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x3a7a=['exports','INTEGER','sequelize'];(function(_0x308f82,_0xad298d){var _0x24382f=function(_0x19fc08){while(--_0x19fc08){_0x308f82['push'](_0x308f82['shift']());}};_0x24382f(++_0xad298d);}(_0x3a7a,0x65));var _0xa3a7=function(_0x4c321c,_0x3e9da0){_0x4c321c=_0x4c321c-0x0;var _0x25accb=_0x3a7a[_0x4c321c];return _0x25accb;};'use strict';var Sequelize=require(_0xa3a7('0x0'));module[_0xa3a7('0x1')]={'penalty':{'type':Sequelize[_0xa3a7('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0xaf4d=['exports','INTEGER'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xaf4d,0x154));var _0xdaf4=function(_0xd5e88b,_0x10c7d1){_0xd5e88b=_0xd5e88b-0x0;var _0xf79c00=_0xaf4d[_0xd5e88b];return _0xf79c00;};'use strict';var Sequelize=require('sequelize');module[_0xdaf4('0x0')]={'penalty':{'type':Sequelize[_0xdaf4('0x1')],'defaultValue':0x0}};
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.model.js b/server/api/userVoiceQueue/userVoiceQueue.model.js
index 7084903..98e23f7 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.model.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueue/userVoiceQueue.rpc.js b/server/api/userVoiceQueue/userVoiceQueue.rpc.js
index 3709b22..598876e 100644
--- a/server/api/userVoiceQueue/userVoiceQueue.rpc.js
+++ b/server/api/userVoiceQueue/userVoiceQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/index.js b/server/api/userVoiceQueueRt/index.js
index 9de34f5..2c253dc 100644
--- a/server/api/userVoiceQueueRt/index.js
+++ b/server/api/userVoiceQueueRt/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
index a6565cf..5847b1d 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
index d3e724a..66f0cbb 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
index a22e6e0..2d31927 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
index 45d06ae..2827b47 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js b/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
index b28b6c8..4c44ca5 100644
--- a/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
+++ b/server/api/userVoiceQueueRt/userVoiceQueueRt.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/index.js b/server/api/variable/index.js
index dfd110f..5ab8d64 100644
--- a/server/api/variable/index.js
+++ b/server/api/variable/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.attributes.js b/server/api/variable/variable.attributes.js
index 52203f2..670979e 100644
--- a/server/api/variable/variable.attributes.js
+++ b/server/api/variable/variable.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.controller.js b/server/api/variable/variable.controller.js
index d394e9d..a3d0e60 100644
--- a/server/api/variable/variable.controller.js
+++ b/server/api/variable/variable.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.model.js b/server/api/variable/variable.model.js
index 128e2b6..0a7c5b7 100644
--- a/server/api/variable/variable.model.js
+++ b/server/api/variable/variable.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/variable/variable.rpc.js b/server/api/variable/variable.rpc.js
index 77259fd..656eadf 100644
--- a/server/api/variable/variable.rpc.js
+++ b/server/api/variable/variable.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/version/index.js b/server/api/version/index.js
index 381de56..3810839 100644
--- a/server/api/version/index.js
+++ b/server/api/version/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/version/version.controller.js b/server/api/version/version.controller.js
index d6901d6..c8deef9 100644
--- a/server/api/version/version.controller.js
+++ b/server/api/version/version.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/index.js b/server/api/voiceAgentReport/index.js
index 893519a..b1f8c36 100644
--- a/server/api/voiceAgentReport/index.js
+++ b/server/api/voiceAgentReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.attributes.js b/server/api/voiceAgentReport/voiceAgentReport.attributes.js
index e78027a..032c4ee 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.attributes.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.controller.js b/server/api/voiceAgentReport/voiceAgentReport.controller.js
index faa9af7..9c01e1c 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.controller.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.model.js b/server/api/voiceAgentReport/voiceAgentReport.model.js
index 6fce10d..0a8ea69 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.model.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceAgentReport/voiceAgentReport.rpc.js b/server/api/voiceAgentReport/voiceAgentReport.rpc.js
index cb46a8b..7014ee3 100644
--- a/server/api/voiceAgentReport/voiceAgentReport.rpc.js
+++ b/server/api/voiceAgentReport/voiceAgentReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/index.js b/server/api/voiceCallReport/index.js
index 2371f6e..54b3e24 100644
--- a/server/api/voiceCallReport/index.js
+++ b/server/api/voiceCallReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.attributes.js b/server/api/voiceCallReport/voiceCallReport.attributes.js
index 446c160..cff8dbf 100644
--- a/server/api/voiceCallReport/voiceCallReport.attributes.js
+++ b/server/api/voiceCallReport/voiceCallReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.controller.js b/server/api/voiceCallReport/voiceCallReport.controller.js
index 93b855e..0587825 100644
--- a/server/api/voiceCallReport/voiceCallReport.controller.js
+++ b/server/api/voiceCallReport/voiceCallReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.model.js b/server/api/voiceCallReport/voiceCallReport.model.js
index 6df70bd..015cbae 100644
--- a/server/api/voiceCallReport/voiceCallReport.model.js
+++ b/server/api/voiceCallReport/voiceCallReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceCallReport/voiceCallReport.rpc.js b/server/api/voiceCallReport/voiceCallReport.rpc.js
index 0fbcf9c..bde14b3 100644
--- a/server/api/voiceCallReport/voiceCallReport.rpc.js
+++ b/server/api/voiceCallReport/voiceCallReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/index.js b/server/api/voiceChanSpy/index.js
index 40c2dd3..e5556af 100644
--- a/server/api/voiceChanSpy/index.js
+++ b/server/api/voiceChanSpy/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.attributes.js b/server/api/voiceChanSpy/voiceChanSpy.attributes.js
index 8438ff2..ddfd17d 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.attributes.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.controller.js b/server/api/voiceChanSpy/voiceChanSpy.controller.js
index 7d2067d..3a865b0 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.controller.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.model.js b/server/api/voiceChanSpy/voiceChanSpy.model.js
index d1b8ff5..95ab61d 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.model.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceChanSpy/voiceChanSpy.rpc.js b/server/api/voiceChanSpy/voiceChanSpy.rpc.js
index b647a78..f014061 100644
--- a/server/api/voiceChanSpy/voiceChanSpy.rpc.js
+++ b/server/api/voiceChanSpy/voiceChanSpy.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/index.js b/server/api/voiceContext/index.js
index 999a0cb..4686ea6 100644
--- a/server/api/voiceContext/index.js
+++ b/server/api/voiceContext/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.attributes.js b/server/api/voiceContext/voiceContext.attributes.js
index 7ef3d7e..790c0a6 100644
--- a/server/api/voiceContext/voiceContext.attributes.js
+++ b/server/api/voiceContext/voiceContext.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.controller.js b/server/api/voiceContext/voiceContext.controller.js
index c3b9e4e..fed787e 100644
--- a/server/api/voiceContext/voiceContext.controller.js
+++ b/server/api/voiceContext/voiceContext.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.model.js b/server/api/voiceContext/voiceContext.model.js
index f3f8765..cfb2108 100644
--- a/server/api/voiceContext/voiceContext.model.js
+++ b/server/api/voiceContext/voiceContext.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceContext/voiceContext.rpc.js b/server/api/voiceContext/voiceContext.rpc.js
index 544a63b..c65879b 100644
--- a/server/api/voiceContext/voiceContext.rpc.js
+++ b/server/api/voiceContext/voiceContext.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/index.js b/server/api/voiceDialReport/index.js
index acf52ce..cf2e7b7 100644
--- a/server/api/voiceDialReport/index.js
+++ b/server/api/voiceDialReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.attributes.js b/server/api/voiceDialReport/voiceDialReport.attributes.js
index cbfa8dd..d04933d 100644
--- a/server/api/voiceDialReport/voiceDialReport.attributes.js
+++ b/server/api/voiceDialReport/voiceDialReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.controller.js b/server/api/voiceDialReport/voiceDialReport.controller.js
index 517a015..7d0e659 100644
--- a/server/api/voiceDialReport/voiceDialReport.controller.js
+++ b/server/api/voiceDialReport/voiceDialReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.model.js b/server/api/voiceDialReport/voiceDialReport.model.js
index 89299a8..65b445a 100644
--- a/server/api/voiceDialReport/voiceDialReport.model.js
+++ b/server/api/voiceDialReport/voiceDialReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceDialReport/voiceDialReport.rpc.js b/server/api/voiceDialReport/voiceDialReport.rpc.js
index 7d528f4..6f0bf33 100644
--- a/server/api/voiceDialReport/voiceDialReport.rpc.js
+++ b/server/api/voiceDialReport/voiceDialReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/index.js b/server/api/voiceExtension/index.js
index bd9449c..b99326e 100644
--- a/server/api/voiceExtension/index.js
+++ b/server/api/voiceExtension/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.attributes.js b/server/api/voiceExtension/voiceExtension.attributes.js
index 37db801..0268273 100644
--- a/server/api/voiceExtension/voiceExtension.attributes.js
+++ b/server/api/voiceExtension/voiceExtension.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.controller.js b/server/api/voiceExtension/voiceExtension.controller.js
index f96cd8b..73f8039 100644
--- a/server/api/voiceExtension/voiceExtension.controller.js
+++ b/server/api/voiceExtension/voiceExtension.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.events.js b/server/api/voiceExtension/voiceExtension.events.js
index a0c20c0..98c71fe 100644
--- a/server/api/voiceExtension/voiceExtension.events.js
+++ b/server/api/voiceExtension/voiceExtension.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.model.js b/server/api/voiceExtension/voiceExtension.model.js
index 49905a9..469742c 100644
--- a/server/api/voiceExtension/voiceExtension.model.js
+++ b/server/api/voiceExtension/voiceExtension.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.rpc.js b/server/api/voiceExtension/voiceExtension.rpc.js
index 5e9b287..aa6269f 100644
--- a/server/api/voiceExtension/voiceExtension.rpc.js
+++ b/server/api/voiceExtension/voiceExtension.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceExtension/voiceExtension.socket.js b/server/api/voiceExtension/voiceExtension.socket.js
index 84612e3..417b953 100644
--- a/server/api/voiceExtension/voiceExtension.socket.js
+++ b/server/api/voiceExtension/voiceExtension.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/index.js b/server/api/voiceMail/index.js
index dd0401d..20b84fb 100644
--- a/server/api/voiceMail/index.js
+++ b/server/api/voiceMail/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.attributes.js b/server/api/voiceMail/voiceMail.attributes.js
index 66fc1e7..4cf7bbd 100644
--- a/server/api/voiceMail/voiceMail.attributes.js
+++ b/server/api/voiceMail/voiceMail.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.controller.js b/server/api/voiceMail/voiceMail.controller.js
index 18d4171..dfebabc 100644
--- a/server/api/voiceMail/voiceMail.controller.js
+++ b/server/api/voiceMail/voiceMail.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.model.js b/server/api/voiceMail/voiceMail.model.js
index 062ed1d..a0fcc3c 100644
--- a/server/api/voiceMail/voiceMail.model.js
+++ b/server/api/voiceMail/voiceMail.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMail/voiceMail.rpc.js b/server/api/voiceMail/voiceMail.rpc.js
index 28f4e4b..1d1ad56 100644
--- a/server/api/voiceMail/voiceMail.rpc.js
+++ b/server/api/voiceMail/voiceMail.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/index.js b/server/api/voiceMailMessage/index.js
index 2b63f33..feb0748 100644
--- a/server/api/voiceMailMessage/index.js
+++ b/server/api/voiceMailMessage/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.attributes.js b/server/api/voiceMailMessage/voiceMailMessage.attributes.js
index 71e1654..fac3d06 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.attributes.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.controller.js b/server/api/voiceMailMessage/voiceMailMessage.controller.js
index 47e7a8c..09251f9 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.controller.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.model.js b/server/api/voiceMailMessage/voiceMailMessage.model.js
index 9ff0257..7cab95a 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.model.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMailMessage/voiceMailMessage.rpc.js b/server/api/voiceMailMessage/voiceMailMessage.rpc.js
index e97b236..9e504c4 100644
--- a/server/api/voiceMailMessage/voiceMailMessage.rpc.js
+++ b/server/api/voiceMailMessage/voiceMailMessage.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/index.js b/server/api/voiceMusicOnHold/index.js
index 18038f7..4fe7cad 100644
--- a/server/api/voiceMusicOnHold/index.js
+++ b/server/api/voiceMusicOnHold/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
index 9228927..ac32711 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
index f025518..91d627b 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
index 1eaf5f6..3f9b53a 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js b/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js
index dddd156..69e8ea8 100644
--- a/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js
+++ b/server/api/voiceMusicOnHold/voiceMusicOnHold.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/index.js b/server/api/voicePrefix/index.js
index c3c80ee..8ed9842 100644
--- a/server/api/voicePrefix/index.js
+++ b/server/api/voicePrefix/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.attributes.js b/server/api/voicePrefix/voicePrefix.attributes.js
index ec06970..1aac905 100644
--- a/server/api/voicePrefix/voicePrefix.attributes.js
+++ b/server/api/voicePrefix/voicePrefix.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.controller.js b/server/api/voicePrefix/voicePrefix.controller.js
index 87c87d9..4ea7833 100644
--- a/server/api/voicePrefix/voicePrefix.controller.js
+++ b/server/api/voicePrefix/voicePrefix.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.events.js b/server/api/voicePrefix/voicePrefix.events.js
index ee8b7db..4749023 100644
--- a/server/api/voicePrefix/voicePrefix.events.js
+++ b/server/api/voicePrefix/voicePrefix.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.model.js b/server/api/voicePrefix/voicePrefix.model.js
index 79d0058..d0ba0e4 100644
--- a/server/api/voicePrefix/voicePrefix.model.js
+++ b/server/api/voicePrefix/voicePrefix.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.rpc.js b/server/api/voicePrefix/voicePrefix.rpc.js
index d067dff..589b27f 100644
--- a/server/api/voicePrefix/voicePrefix.rpc.js
+++ b/server/api/voicePrefix/voicePrefix.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voicePrefix/voicePrefix.socket.js b/server/api/voicePrefix/voicePrefix.socket.js
index caf416f..664fed5 100644
--- a/server/api/voicePrefix/voicePrefix.socket.js
+++ b/server/api/voicePrefix/voicePrefix.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/index.js b/server/api/voiceQueue/index.js
index e533cb8..6e24ffc 100644
--- a/server/api/voiceQueue/index.js
+++ b/server/api/voiceQueue/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.attributes.js b/server/api/voiceQueue/voiceQueue.attributes.js
index 7700b62..8f02715 100644
--- a/server/api/voiceQueue/voiceQueue.attributes.js
+++ b/server/api/voiceQueue/voiceQueue.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.controller.js b/server/api/voiceQueue/voiceQueue.controller.js
index 2319617..c96f228 100644
--- a/server/api/voiceQueue/voiceQueue.controller.js
+++ b/server/api/voiceQueue/voiceQueue.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.events.js b/server/api/voiceQueue/voiceQueue.events.js
index 7f7d100..f02d59a 100644
--- a/server/api/voiceQueue/voiceQueue.events.js
+++ b/server/api/voiceQueue/voiceQueue.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.model.js b/server/api/voiceQueue/voiceQueue.model.js
index e056195..f2ffcfc 100644
--- a/server/api/voiceQueue/voiceQueue.model.js
+++ b/server/api/voiceQueue/voiceQueue.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.rpc.js b/server/api/voiceQueue/voiceQueue.rpc.js
index 95997ec..75f3d6f 100644
--- a/server/api/voiceQueue/voiceQueue.rpc.js
+++ b/server/api/voiceQueue/voiceQueue.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueue/voiceQueue.socket.js b/server/api/voiceQueue/voiceQueue.socket.js
index 1eaecf0..d132100 100644
--- a/server/api/voiceQueue/voiceQueue.socket.js
+++ b/server/api/voiceQueue/voiceQueue.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/index.js b/server/api/voiceQueueReport/index.js
index 84769d5..dbfcc1b 100644
--- a/server/api/voiceQueueReport/index.js
+++ b/server/api/voiceQueueReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.attributes.js b/server/api/voiceQueueReport/voiceQueueReport.attributes.js
index 1ede127..1ad7164 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.attributes.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.controller.js b/server/api/voiceQueueReport/voiceQueueReport.controller.js
index 3b63461..2b934aa 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.controller.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.events.js b/server/api/voiceQueueReport/voiceQueueReport.events.js
index 8865c36..05a9a16 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.events.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.events.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.model.js b/server/api/voiceQueueReport/voiceQueueReport.model.js
index 0039d01..f994310 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.model.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.rpc.js b/server/api/voiceQueueReport/voiceQueueReport.rpc.js
index ba5e838..1da09a6 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.rpc.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueueReport/voiceQueueReport.socket.js b/server/api/voiceQueueReport/voiceQueueReport.socket.js
index 62fd19c..450607d 100644
--- a/server/api/voiceQueueReport/voiceQueueReport.socket.js
+++ b/server/api/voiceQueueReport/voiceQueueReport.socket.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/index.js b/server/api/voiceQueuesLog/index.js
index d69b93b..aa41764 100644
--- a/server/api/voiceQueuesLog/index.js
+++ b/server/api/voiceQueuesLog/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js b/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
index cf0ae10..8a12a49 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.controller.js b/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
index bc26904..e58caee 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.model.js b/server/api/voiceQueuesLog/voiceQueuesLog.model.js
index ffd47c0..bff831d 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.model.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js b/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js
index 98a9ed0..3195b42 100644
--- a/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js
+++ b/server/api/voiceQueuesLog/voiceQueuesLog.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/index.js b/server/api/voiceRecording/index.js
index 43aa699..6b6899a 100644
--- a/server/api/voiceRecording/index.js
+++ b/server/api/voiceRecording/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.attributes.js b/server/api/voiceRecording/voiceRecording.attributes.js
index e70125c..de7754c 100644
--- a/server/api/voiceRecording/voiceRecording.attributes.js
+++ b/server/api/voiceRecording/voiceRecording.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.controller.js b/server/api/voiceRecording/voiceRecording.controller.js
index 8634cee..8b78257 100644
--- a/server/api/voiceRecording/voiceRecording.controller.js
+++ b/server/api/voiceRecording/voiceRecording.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.model.js b/server/api/voiceRecording/voiceRecording.model.js
index 4318cb7..3cfcafa 100644
--- a/server/api/voiceRecording/voiceRecording.model.js
+++ b/server/api/voiceRecording/voiceRecording.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceRecording/voiceRecording.rpc.js b/server/api/voiceRecording/voiceRecording.rpc.js
index b39eb0b..72d49a3 100644
--- a/server/api/voiceRecording/voiceRecording.rpc.js
+++ b/server/api/voiceRecording/voiceRecording.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/index.js b/server/api/voiceTransferReport/index.js
index bbfdddf..645fe80 100644
--- a/server/api/voiceTransferReport/index.js
+++ b/server/api/voiceTransferReport/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.attributes.js b/server/api/voiceTransferReport/voiceTransferReport.attributes.js
index b176cbb..d8934e6 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.attributes.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.attributes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.controller.js b/server/api/voiceTransferReport/voiceTransferReport.controller.js
index e793524..c336eeb 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.controller.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.model.js b/server/api/voiceTransferReport/voiceTransferReport.model.js
index a674b18..b470336 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.model.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.model.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/api/voiceTransferReport/voiceTransferReport.rpc.js b/server/api/voiceTransferReport/voiceTransferReport.rpc.js
index 327f894..e4bffda 100644
--- a/server/api/voiceTransferReport/voiceTransferReport.rpc.js
+++ b/server/api/voiceTransferReport/voiceTransferReport.rpc.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/app.js b/server/app.js
index aca01db..7bd4b57 100644
--- a/server/app.js
+++ b/server/app.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/auth/service.js b/server/components/auth/service.js
index acd83a4..edac308 100644
--- a/server/components/auth/service.js
+++ b/server/components/auth/service.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/encryptor/index.js b/server/components/encryptor/index.js
index 530d71e..72534c8 100644
--- a/server/components/encryptor/index.js
+++ b/server/components/encryptor/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/csv.js b/server/components/export/csv.js
index ae1f1d3..da79a02 100644
--- a/server/components/export/csv.js
+++ b/server/components/export/csv.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/pdf.js b/server/components/export/pdf.js
index 0b25f19..0daf68e 100644
--- a/server/components/export/pdf.js
+++ b/server/components/export/pdf.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/export/xlsx.js b/server/components/export/xlsx.js
index 2dd4a82..d112a4f 100644
--- a/server/components/export/xlsx.js
+++ b/server/components/export/xlsx.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/extensions/rewrite.js b/server/components/extensions/rewrite.js
index daf6659..109da3a 100644
--- a/server/components/extensions/rewrite.js
+++ b/server/components/extensions/rewrite.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/import/cm/csv.js b/server/components/import/cm/csv.js
index 69fe91e..b216237 100644
--- a/server/components/import/cm/csv.js
+++ b/server/components/import/cm/csv.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/import/cm/csv2.js b/server/components/import/cm/csv2.js
index c69875e..19de242 100644
--- a/server/components/import/cm/csv2.js
+++ b/server/components/import/cm/csv2.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/integrations/configuration.js b/server/components/integrations/configuration.js
index 0dd3b00..effc4c3 100644
--- a/server/components/integrations/configuration.js
+++ b/server/components/integrations/configuration.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/interaction/service.js b/server/components/interaction/service.js
index b03cefd..a382852 100644
--- a/server/components/interaction/service.js
+++ b/server/components/interaction/service.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/license/service.js b/server/components/license/service.js
index db13950..43b8c56 100644
--- a/server/components/license/service.js
+++ b/server/components/license/service.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/components/parsers/qs.js b/server/components/parsers/qs.js
index edff502..343e006 100644
--- a/server/components/parsers/qs.js
+++ b/server/components/parsers/qs.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/express.js b/server/config/express.js
index eafe80b..749567d 100644
--- a/server/config/express.js
+++ b/server/config/express.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/hardware.js b/server/config/license/hardware.js
index b7d5f9c..6f50d7e 100644
--- a/server/config/license/hardware.js
+++ b/server/config/license/hardware.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/index.js b/server/config/license/index.js
index 8f6b8d7..7559379 100644
--- a/server/config/license/index.js
+++ b/server/config/license/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/license/util.js b/server/config/license/util.js
index e58b7a3..a91f89d 100644
--- a/server/config/license/util.js
+++ b/server/config/license/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/local.env.js b/server/config/local.env.js
index 3934015..5298d0c 100644
--- a/server/config/local.env.js
+++ b/server/config/local.env.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/logger.js b/server/config/logger.js
index defe49b..8fa944c 100644
--- a/server/config/logger.js
+++ b/server/config/logger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/pm2/config.js b/server/config/pm2/config.js
index ecf5c06..cae9382 100644
--- a/server/config/pm2/config.js
+++ b/server/config/pm2/config.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/pm2/index.js b/server/config/pm2/index.js
index 9149e56..25a7d11 100644
--- a/server/config/pm2/index.js
+++ b/server/config/pm2/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/chat.js b/server/config/schedule/chat.js
index 576e507..f1a7a23 100644
--- a/server/config/schedule/chat.js
+++ b/server/config/schedule/chat.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/schedule/index.js b/server/config/schedule/index.js
index 2c06681..90caa48 100644
--- a/server/config/schedule/index.js
+++ b/server/config/schedule/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedContact.js b/server/config/seedContact.js
index 4f0ec9b..91276e5 100644
--- a/server/config/seedContact.js
+++ b/server/config/seedContact.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/seedUsers.js b/server/config/seedUsers.js
index 936ce42..511a173 100644
--- a/server/config/seedUsers.js
+++ b/server/config/seedUsers.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/socketio.js b/server/config/socketio.js
index 61361dc..8208e36 100644
--- a/server/config/socketio.js
+++ b/server/config/socketio.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/triggers/index.js b/server/config/triggers/index.js
index 367643a..b4b229d 100644
--- a/server/config/triggers/index.js
+++ b/server/config/triggers/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/config/utils.js b/server/config/utils.js
index e454a43..c6baa77 100644
--- a/server/config/utils.js
+++ b/server/config/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/errors/index.js b/server/errors/index.js
index f3261d2..ceb2536 100644
--- a/server/errors/index.js
+++ b/server/errors/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/files/chat/iframe.js b/server/files/chat/iframe.js
index 6569cf7..e2a2b0a 100644
--- a/server/files/chat/iframe.js
+++ b/server/files/chat/iframe.js
@@ -125,7 +125,7 @@
                 div_tab.style.backgroundColor = evt.data.div_color;
                 document.getElementById("chat_tab_text").style.color = evt.data.text_color;
                 document.getElementById("chat_tab_arrow").style.color = evt.data.div_color;
-                //document.getElementById("chat_tab_arrow").style.backgroundColor=evt.data.text_color;
+                document.getElementById("chat_tab_arrow").style.backgroundColor = evt.data.text_color;
                 document.getElementById("motion-chat-iframe-tab").style.display = "block";
                 <% } -%>
                 break;
@@ -164,17 +164,25 @@
         window.addEventListener('orientationchange', function() {
             if (alignment == 'right') {
                 document.getElementById("chat_tab_arrow").innerHTML = "<strong> < </strong>";
-            } else {
+                var iframeEl = document.getElementById('motion-chat-iframe');
+                iframeEl.contentWindow.postMessage({
+                    "evt": "hide"
+                }, '*');
+                tab_status = 0;
+                iframe_h = topIframe_calc();
+                topIframe_set(iframe_h);
+                if (typeof div_tab != "undefined") topChat_set(iframe_h, verticalAlignment);
+            } else if (alignment == 'left') {
                 document.getElementById("chat_tab_arrow").innerHTML = "<strong> > </strong>";
+                var iframeEl = document.getElementById('motion-chat-iframe');
+                iframeEl.contentWindow.postMessage({
+                    "evt": "hide"
+                }, '*');
+                tab_status = 0;
+                iframe_h = topIframe_calc();
+                topIframe_set(iframe_h);
+                if (typeof div_tab != "undefined") topChat_set(iframe_h, verticalAlignment);
             }
-            var iframeEl = document.getElementById('motion-chat-iframe');
-            iframeEl.contentWindow.postMessage({
-                "evt": "hide"
-            }, '*');
-            tab_status = 0;
-            iframe_h = topIframe_calc();
-            topIframe_set(iframe_h);
-            topChat_set(iframe_h, verticalAlignment);
         }, false);
     }
 
@@ -199,10 +207,20 @@
     function topIframe_set(height_iframe) {
         if (height_iframe > 340) {
             iframe.style['height'] = height_iframe + 'px';
-            iframe.style['top'] = verticalAlignment + "%";
+            if (alignment == "right" || alignment == "left") {
+                iframe.style['top'] = verticalAlignment + "%";
+            } else {
+                iframe.style['bottom'] = "0%";
+            }
+
         } else {
             iframe.style['height'] = '340px';
-            iframe.style['top'] = "calc(100% - 340px)";
+            if (alignment == "right" || alignment == "left") {
+                iframe.style['top'] = "calc(100% - 340px)";
+            } else {
+                iframe.style['bottom'] = "0%";
+            }
+
         }
     }
 
diff --git a/server/migrations/2.4.5.js b/server/migrations/2.4.5.js
new file mode 100644
index 0000000..6f77728
--- /dev/null
+++ b/server/migrations/2.4.5.js
@@ -0,0 +1,166 @@
+'use strict';
+
+var BPromise = require('bluebird');
+var util = require('util');
+
+var logger = require('../config/logger')('migration');
+
+var Sequence = function() {};
+
+Sequence.prototype.enqueue = function(fn) {
+    this.tail = this.tail ? this.tail.finally(fn) : fn();
+};
+
+var Migration = function(queryInterface) {
+    this.queryInterface = queryInterface;
+    this.sequence = new Sequence();
+};
+
+Migration.prototype.changeColumn = function(table, column, type) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .changeColumn(table, column, type)
+            .then(function() {
+                logger.info('Changed column %s in table %s', column, table);
+            })
+            .catch(function(err) {
+                logger.info(JSON.stringify(err));
+            });
+    });
+};
+
+Migration.prototype.addColumn = function(table, column, type) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .addColumn(table, column, type)
+            .then(function() {
+                logger.info('Added column %s to %s', column, table);
+            })
+            .catch(function(err) {
+                logger.info(JSON.stringify(err));
+            });
+    });
+};
+
+Migration.prototype.dropTable = function(table) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .dropTable(table, {
+                force: true
+            })
+            .then(function() {
+                logger.info('table dropped %s', table);
+            })
+            .catch(function(err) {
+                logger.info(JSON.stringify(err));
+            });
+    });
+};
+
+Migration.prototype.addIndex = function(table, column, options) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .addIndex(table, column, {
+                indexName: options.indexName,
+                indicesType: options.indicesType
+            })
+            .then(function() {
+                logger.info('addIndex %s %s %s [%s]', table, column.join(','), options.indexName, options.indicesType);
+            })
+            .catch(function(err) {
+                logger.info(JSON.stringify(err));
+            });
+    });
+};
+
+Migration.prototype.removeIndex = function(table, indexName) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .removeIndex(table, indexName)
+            .then(function() {
+                logger.info('removeIndex %s %s', table, indexName);
+            })
+            .catch(function(err) {
+                logger.info(JSON.stringify(err));
+            });
+    });
+};
+
+Migration.prototype.query = function(sql) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface.sequelize
+            .query(sql)
+            .then(function() {
+                logger.info('query %s', sql);
+            })
+            .catch(function(err) {
+                logger.info(JSON.stringify(err));
+            });
+    });
+};
+
+Migration.prototype.removeColumn = function(table, column) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .removeColumn(table, column)
+            .then(function() {
+                logger.info('Removed column %s from %s', column, table);
+            })
+            .catch(function(err) {
+                logger.info(
+                    util.inspect(err, {
+                        showHidden: false,
+                        depth: null
+                    })
+                );
+            });
+    });
+};
+
+Migration.prototype.renameColumn = function(table, oldColumn, newColumn) {
+    var _this = this;
+    this.sequence.enqueue(function() {
+        return _this.queryInterface
+            .renameColumn(table, oldColumn, newColumn)
+            .then(function() {
+                logger.info('Renamed column from %s to %s on %s', oldColumn, newColumn, table);
+            })
+            .catch(function(err) {
+                logger.info(
+                    util.inspect(err, {
+                        showHidden: false,
+                        depth: null
+                    })
+                );
+            });
+    });
+};
+
+Migration.prototype.final = function(resolve) {
+    this.sequence.enqueue(function() {
+        return resolve();
+    });
+};
+
+module.exports = {
+    up: function(queryInterface, Sequelize) {
+        return new BPromise(function(resolve) {
+            var migration = new Migration(queryInterface);
+
+            // START FINAL
+            migration.final(resolve);
+            // END FINAL
+        });
+    },
+
+    down: function(queryInterface, Sequelize) {
+        // var migration = new Migration(queryInterface);
+    }
+};
\ No newline at end of file
diff --git a/server/mysqldb/index.js b/server/mysqldb/index.js
index 585f49a..23cfeb5 100644
--- a/server/mysqldb/index.js
+++ b/server/mysqldb/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/routes.js b/server/routes.js
index e03d9f5..74dd701 100644
--- a/server/routes.js
+++ b/server/routes.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/rpc/index.js b/server/rpc/index.js
index 25fd17c..cccd508 100644
--- a/server/rpc/index.js
+++ b/server/rpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/channel.js b/server/services/agi/channel.js
index 8299499..af1d7e8 100644
--- a/server/services/agi/channel.js
+++ b/server/services/agi/channel.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/error.js b/server/services/agi/error.js
index a8a8bd6..53fa8fc 100644
--- a/server/services/agi/error.js
+++ b/server/services/agi/error.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/graph/index.js b/server/services/agi/graph/index.js
index 0fddebc..09661df 100644
--- a/server/services/agi/graph/index.js
+++ b/server/services/agi/graph/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/index.js b/server/services/agi/index.js
index 67e4364..fab4f52 100644
--- a/server/services/agi/index.js
+++ b/server/services/agi/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/mailRpc/index.js b/server/services/agi/mailRpc/index.js
index 65a6421..a4e3413 100644
--- a/server/services/agi/mailRpc/index.js
+++ b/server/services/agi/mailRpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/reply.js b/server/services/agi/reply.js
index de1ae1c..fcf1ec6 100644
--- a/server/services/agi/reply.js
+++ b/server/services/agi/reply.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/rpc/index.js b/server/services/agi/rpc/index.js
index c560ada..53cbac0 100644
--- a/server/services/agi/rpc/index.js
+++ b/server/services/agi/rpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/index.js b/server/services/agi/scripts/aws/index.js
index 6b2dc1d..8e05a59 100644
--- a/server/services/agi/scripts/aws/index.js
+++ b/server/services/agi/scripts/aws/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xd94b=['./polly','./lex'];(function(_0x533563,_0x2a9a14){var _0x50d6c4=function(_0x2e6233){while(--_0x2e6233){_0x533563['push'](_0x533563['shift']());}};_0x50d6c4(++_0x2a9a14);}(_0xd94b,0x17c));var _0xbd94=function(_0x532850,_0x3a100a){_0x532850=_0x532850-0x0;var _0x4ea53f=_0xd94b[_0x532850];return _0x4ea53f;};var polly=require(_0xbd94('0x0'));var lex=require(_0xbd94('0x1'));module['exports']={'polly':polly,'lex':lex};
\ No newline at end of file
+var _0x7ce5=['./lex'];(function(_0x498dd3,_0x142a3e){var _0x2aff1c=function(_0x52257c){while(--_0x52257c){_0x498dd3['push'](_0x498dd3['shift']());}};_0x2aff1c(++_0x142a3e);}(_0x7ce5,0xb0));var _0x57ce=function(_0xd21c1e,_0x4ad5cf){_0xd21c1e=_0xd21c1e-0x0;var _0x429a5a=_0x7ce5[_0xd21c1e];return _0x429a5a;};var polly=require('./polly');var lex=require(_0x57ce('0x0'));module['exports']={'polly':polly,'lex':lex};
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/lex/index.js b/server/services/agi/scripts/aws/lex/index.js
index 9a32f01..401831a 100644
--- a/server/services/agi/scripts/aws/lex/index.js
+++ b/server/services/agi/scripts/aws/lex/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/lex/lib/api.js b/server/services/agi/scripts/aws/lex/lib/api.js
index 3e22c5d..4580be5 100644
--- a/server/services/agi/scripts/aws/lex/lib/api.js
+++ b/server/services/agi/scripts/aws/lex/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/polly/index.js b/server/services/agi/scripts/aws/polly/index.js
index d2b8cea..2f1ffb4 100644
--- a/server/services/agi/scripts/aws/polly/index.js
+++ b/server/services/agi/scripts/aws/polly/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/aws/polly/lib/api.js b/server/services/agi/scripts/aws/polly/lib/api.js
index 4fe0851..2a876d1 100644
--- a/server/services/agi/scripts/aws/polly/lib/api.js
+++ b/server/services/agi/scripts/aws/polly/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/asr/index.js b/server/services/agi/scripts/google/asr/index.js
index 8129388..9324b46 100644
--- a/server/services/agi/scripts/google/asr/index.js
+++ b/server/services/agi/scripts/google/asr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-'use strict';var asr=require('./lib/api');module['exports']=function(_0x53f78a,_0x42c760,_0x590091,_0x5e0470){return asr(_0x53f78a,_0x42c760,_0x590091);};
\ No newline at end of file
+var _0xaf4c=['exports'];(function(_0x1203f,_0x554bbc){var _0x365f0a=function(_0x3531d0){while(--_0x3531d0){_0x1203f['push'](_0x1203f['shift']());}};_0x365f0a(++_0x554bbc);}(_0xaf4c,0x1ed));var _0xcaf4=function(_0x1a14cc,_0x3f3ad5){_0x1a14cc=_0x1a14cc-0x0;var _0x28a521=_0xaf4c[_0x1a14cc];return _0x28a521;};'use strict';var asr=require('./lib/api');module[_0xcaf4('0x0')]=function(_0x3af3b5,_0x4cd268,_0x10c20a,_0x453ce8){return asr(_0x3af3b5,_0x4cd268,_0x10c20a);};
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/asr/lib/api.js b/server/services/agi/scripts/google/asr/lib/api.js
index 157e69b..3cde602 100644
--- a/server/services/agi/scripts/google/asr/lib/api.js
+++ b/server/services/agi/scripts/google/asr/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/google/index.js b/server/services/agi/scripts/google/index.js
index 09a38d2..484c51f 100644
--- a/server/services/agi/scripts/google/index.js
+++ b/server/services/agi/scripts/google/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xa9e0=['exports','./asr'];(function(_0x4fb413,_0x692031){var _0x3adb77=function(_0x10dd8c){while(--_0x10dd8c){_0x4fb413['push'](_0x4fb413['shift']());}};_0x3adb77(++_0x692031);}(_0xa9e0,0x123));var _0x0a9e=function(_0x3c2a69,_0x4c8b41){_0x3c2a69=_0x3c2a69-0x0;var _0x596bc8=_0xa9e0[_0x3c2a69];return _0x596bc8;};var asr=require(_0x0a9e('0x0'));module[_0x0a9e('0x1')]={'asr':asr};
\ No newline at end of file
+var _0xa9e0=['exports','./asr'];(function(_0x570d72,_0x24d36e){var _0x1052d8=function(_0x4e8016){while(--_0x4e8016){_0x570d72['push'](_0x570d72['shift']());}};_0x1052d8(++_0x24d36e);}(_0xa9e0,0x123));var _0x0a9e=function(_0x46aff0,_0x122890){_0x46aff0=_0x46aff0-0x0;var _0x9d78cf=_0xa9e0[_0x46aff0];return _0x9d78cf;};var asr=require(_0x0a9e('0x0'));module[_0x0a9e('0x1')]={'asr':asr};
\ No newline at end of file
diff --git a/server/services/agi/scripts/index.js b/server/services/agi/scripts/index.js
index 3d61f28..b5656ee 100644
--- a/server/services/agi/scripts/index.js
+++ b/server/services/agi/scripts/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/sestek/index.js b/server/services/agi/scripts/sestek/index.js
index f712d84..58aa26e 100644
--- a/server/services/agi/scripts/sestek/index.js
+++ b/server/services/agi/scripts/sestek/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x7347=['./nda','exports'];(function(_0x416cdc,_0x213b87){var _0x1931ce=function(_0x1dc762){while(--_0x1dc762){_0x416cdc['push'](_0x416cdc['shift']());}};_0x1931ce(++_0x213b87);}(_0x7347,0xd6));var _0x7734=function(_0x2c91e9,_0x2fb965){_0x2c91e9=_0x2c91e9-0x0;var _0x13f0ff=_0x7347[_0x2c91e9];return _0x13f0ff;};var nda=require(_0x7734('0x0'));module[_0x7734('0x1')]={'nda':nda};
\ No newline at end of file
+var _0x66a2=['exports','./nda'];(function(_0x3e6b2f,_0x1ffa07){var _0x323215=function(_0x5c4d82){while(--_0x5c4d82){_0x3e6b2f['push'](_0x3e6b2f['shift']());}};_0x323215(++_0x1ffa07);}(_0x66a2,0xf3));var _0x266a=function(_0x32aa91,_0x122622){_0x32aa91=_0x32aa91-0x0;var _0x19442d=_0x66a2[_0x32aa91];return _0x19442d;};var nda=require(_0x266a('0x0'));module[_0x266a('0x1')]={'nda':nda};
\ No newline at end of file
diff --git a/server/services/agi/scripts/sestek/nda/index.js b/server/services/agi/scripts/sestek/nda/index.js
index 13207bf..bda9250 100644
--- a/server/services/agi/scripts/sestek/nda/index.js
+++ b/server/services/agi/scripts/sestek/nda/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/asr/index.js b/server/services/agi/scripts/tilde/asr/index.js
index f8420c2..7d2b278 100644
--- a/server/services/agi/scripts/tilde/asr/index.js
+++ b/server/services/agi/scripts/tilde/asr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x6ff4=['./lib/api','exports'];(function(_0x43a7b1,_0x4318f5){var _0x3425ca=function(_0x4c3edb){while(--_0x4c3edb){_0x43a7b1['push'](_0x43a7b1['shift']());}};_0x3425ca(++_0x4318f5);}(_0x6ff4,0x1a2));var _0x46ff=function(_0x29b7c9,_0x10cb20){_0x29b7c9=_0x29b7c9-0x0;var _0x3801b9=_0x6ff4[_0x29b7c9];return _0x3801b9;};'use strict';var asr=require(_0x46ff('0x0'));module[_0x46ff('0x1')]=function(_0x29bdf9,_0x28e962,_0x2ad8ed,_0x13be32){return asr(_0x29bdf9,_0x28e962,_0x2ad8ed,_0x13be32);};
\ No newline at end of file
+var _0xa74d=['exports'];(function(_0x26d4b8,_0x2a71ee){var _0x872a2=function(_0x11e76c){while(--_0x11e76c){_0x26d4b8['push'](_0x26d4b8['shift']());}};_0x872a2(++_0x2a71ee);}(_0xa74d,0x166));var _0xda74=function(_0x3b0e38,_0x231369){_0x3b0e38=_0x3b0e38-0x0;var _0x61585f=_0xa74d[_0x3b0e38];return _0x61585f;};'use strict';var asr=require('./lib/api');module[_0xda74('0x0')]=function(_0x2b22f1,_0xecddf2,_0x46594c,_0x50d659){return asr(_0x2b22f1,_0xecddf2,_0x46594c,_0x50d659);};
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/asr/lib/api.js b/server/services/agi/scripts/tilde/asr/lib/api.js
index 65c9afa..d57f557 100644
--- a/server/services/agi/scripts/tilde/asr/lib/api.js
+++ b/server/services/agi/scripts/tilde/asr/lib/api.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/scripts/tilde/index.js b/server/services/agi/scripts/tilde/index.js
index 3d1851e..10cb4be 100644
--- a/server/services/agi/scripts/tilde/index.js
+++ b/server/services/agi/scripts/tilde/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x34e8=['./asr','exports'];(function(_0x54d4a8,_0x585a59){var _0x3b321b=function(_0x245c6a){while(--_0x245c6a){_0x54d4a8['push'](_0x54d4a8['shift']());}};_0x3b321b(++_0x585a59);}(_0x34e8,0x12c));var _0x834e=function(_0x415647,_0x2b7730){_0x415647=_0x415647-0x0;var _0x3a1949=_0x34e8[_0x415647];return _0x3a1949;};var asr=require(_0x834e('0x0'));module[_0x834e('0x1')]={'asr':asr};
\ No newline at end of file
+var asr=require('./asr');module['exports']={'asr':asr};
\ No newline at end of file
diff --git a/server/services/agi/server.js b/server/services/agi/server.js
index dc537c3..fe7a35e 100644
--- a/server/services/agi/server.js
+++ b/server/services/agi/server.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/agi/vertices.js b/server/services/agi/vertices.js
index 1270fbd..ffb491f 100644
--- a/server/services/agi/vertices.js
+++ b/server/services/agi/vertices.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/acw/index.js b/server/services/ami/acw/index.js
index e40de62..f79ca44 100644
--- a/server/services/ami/acw/index.js
+++ b/server/services/ami/acw/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/ami.js b/server/services/ami/ami.js
index cab2c0e..89e9aba 100644
--- a/server/services/ami/ami.js
+++ b/server/services/ami/ami.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/client.js b/server/services/ami/client.js
index c5acde2..15adda9 100644
--- a/server/services/ami/client.js
+++ b/server/services/ami/client.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/action.js b/server/services/ami/dialer/action.js
index faceea1..32c3ca0 100644
--- a/server/services/ami/dialer/action.js
+++ b/server/services/ami/dialer/action.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/agentComplete.js b/server/services/ami/dialer/agentComplete.js
index 120053e..578b879 100644
--- a/server/services/ami/dialer/agentComplete.js
+++ b/server/services/ami/dialer/agentComplete.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/final.js b/server/services/ami/dialer/final.js
index 8e73d11..72603ad 100644
--- a/server/services/ami/dialer/final.js
+++ b/server/services/ami/dialer/final.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/hangup.js b/server/services/ami/dialer/hangup.js
index 631bae2..7d8d7b6 100644
--- a/server/services/ami/dialer/hangup.js
+++ b/server/services/ami/dialer/hangup.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/history.js b/server/services/ami/dialer/history.js
index 36f4d91..a3afe9d 100644
--- a/server/services/ami/dialer/history.js
+++ b/server/services/ami/dialer/history.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/index.js b/server/services/ami/dialer/index.js
index 600309b..20a15f1 100644
--- a/server/services/ami/dialer/index.js
+++ b/server/services/ami/dialer/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/dialer/queueCallerAbandon.js b/server/services/ami/dialer/queueCallerAbandon.js
index 6efa9b6..b86b23a 100644
--- a/server/services/ami/dialer/queueCallerAbandon.js
+++ b/server/services/ami/dialer/queueCallerAbandon.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/action.js b/server/services/ami/fax/action.js
index 0bef7b8..6a5b5ee 100644
--- a/server/services/ami/fax/action.js
+++ b/server/services/ami/fax/action.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/index.js b/server/services/ami/fax/index.js
index 98f6d80..61eb599 100644
--- a/server/services/ami/fax/index.js
+++ b/server/services/ami/fax/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/rpcDb.js b/server/services/ami/fax/rpcDb.js
index 8d3286f..c75dde7 100644
--- a/server/services/ami/fax/rpcDb.js
+++ b/server/services/ami/fax/rpcDb.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/util/gs.js b/server/services/ami/fax/util/gs.js
index 73ac69d..6647ac8 100644
--- a/server/services/ami/fax/util/gs.js
+++ b/server/services/ami/fax/util/gs.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/fax/util/util.js b/server/services/ami/fax/util/util.js
index 2a85533..615deac 100644
--- a/server/services/ami/fax/util/util.js
+++ b/server/services/ami/fax/util/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/index.js b/server/services/ami/index.js
index 6a91a5d..1979f60 100644
--- a/server/services/ami/index.js
+++ b/server/services/ami/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/agent.js b/server/services/ami/model/agent.js
index a353698..7d0b06d 100644
--- a/server/services/ami/model/agent.js
+++ b/server/services/ami/model/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/campaign.js b/server/services/ami/model/campaign.js
index 93c3d6a..6c08927 100644
--- a/server/services/ami/model/campaign.js
+++ b/server/services/ami/model/campaign.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/channel.js b/server/services/ami/model/channel.js
index 14c8322..a98a8a0 100644
--- a/server/services/ami/model/channel.js
+++ b/server/services/ami/model/channel.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/deskAccount.js b/server/services/ami/model/deskAccount.js
index a28af3e..36548b4 100644
--- a/server/services/ami/model/deskAccount.js
+++ b/server/services/ami/model/deskAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/dynamics365Account.js b/server/services/ami/model/dynamics365Account.js
index 51f5255..c1491e0 100644
--- a/server/services/ami/model/dynamics365Account.js
+++ b/server/services/ami/model/dynamics365Account.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/faxAccount.js b/server/services/ami/model/faxAccount.js
index 6e21d99..04155e9 100644
--- a/server/services/ami/model/faxAccount.js
+++ b/server/services/ami/model/faxAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/freshdeskAccount.js b/server/services/ami/model/freshdeskAccount.js
index 75a2255..eb91cb7 100644
--- a/server/services/ami/model/freshdeskAccount.js
+++ b/server/services/ami/model/freshdeskAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/queueReport.js b/server/services/ami/model/queueReport.js
index 76757aa..574bae3 100644
--- a/server/services/ami/model/queueReport.js
+++ b/server/services/ami/model/queueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/salesforceAccount.js b/server/services/ami/model/salesforceAccount.js
index 490c698..a3088b5 100644
--- a/server/services/ami/model/salesforceAccount.js
+++ b/server/services/ami/model/salesforceAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/servicenowAccount.js b/server/services/ami/model/servicenowAccount.js
index 8f0557a..bd4c0f9 100644
--- a/server/services/ami/model/servicenowAccount.js
+++ b/server/services/ami/model/servicenowAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/sugarcrmAccount.js b/server/services/ami/model/sugarcrmAccount.js
index df6236a..fb085af 100644
--- a/server/services/ami/model/sugarcrmAccount.js
+++ b/server/services/ami/model/sugarcrmAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/telephone.js b/server/services/ami/model/telephone.js
index 4c6d7e0..8610b68 100644
--- a/server/services/ami/model/telephone.js
+++ b/server/services/ami/model/telephone.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/template.js b/server/services/ami/model/template.js
index 39a3516..945a995 100644
--- a/server/services/ami/model/template.js
+++ b/server/services/ami/model/template.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/trigger.js b/server/services/ami/model/trigger.js
index bf10b91..9174062 100644
--- a/server/services/ami/model/trigger.js
+++ b/server/services/ami/model/trigger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/trunk.js b/server/services/ami/model/trunk.js
index 132d3f5..8263bd6 100644
--- a/server/services/ami/model/trunk.js
+++ b/server/services/ami/model/trunk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/voiceExtension.js b/server/services/ami/model/voiceExtension.js
index 692167d..d0f9695 100644
--- a/server/services/ami/model/voiceExtension.js
+++ b/server/services/ami/model/voiceExtension.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/voiceQueue.js b/server/services/ami/model/voiceQueue.js
index df065b6..976796a 100644
--- a/server/services/ami/model/voiceQueue.js
+++ b/server/services/ami/model/voiceQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/vtigerAccount.js b/server/services/ami/model/vtigerAccount.js
index 9166be0..3ed56b8 100644
--- a/server/services/ami/model/vtigerAccount.js
+++ b/server/services/ami/model/vtigerAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/zendeskAccount.js b/server/services/ami/model/zendeskAccount.js
index 89a600c..6a500c4 100644
--- a/server/services/ami/model/zendeskAccount.js
+++ b/server/services/ami/model/zendeskAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/model/zohoAccount.js b/server/services/ami/model/zohoAccount.js
index cb497aa..b8927f2 100644
--- a/server/services/ami/model/zohoAccount.js
+++ b/server/services/ami/model/zohoAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/action.js b/server/services/ami/preview/action.js
index e4a811a..9c520ec 100644
--- a/server/services/ami/preview/action.js
+++ b/server/services/ami/preview/action.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/index.js b/server/services/ami/preview/index.js
index 5abcc12..6122558 100644
--- a/server/services/ami/preview/index.js
+++ b/server/services/ami/preview/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/rpcDb.js b/server/services/ami/preview/rpcDb.js
index dafb5ae..a5d0e08 100644
--- a/server/services/ami/preview/rpcDb.js
+++ b/server/services/ami/preview/rpcDb.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/preview/util/util.js b/server/services/ami/preview/util/util.js
index 2449268..c2e5ba4 100644
--- a/server/services/ami/preview/util/util.js
+++ b/server/services/ami/preview/util/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/properties.js b/server/services/ami/properties.js
index 87baf83..7841bae 100644
--- a/server/services/ami/properties.js
+++ b/server/services/ami/properties.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/realtime/index.js b/server/services/ami/realtime/index.js
index 90e588c..7e7bb45 100644
--- a/server/services/ami/realtime/index.js
+++ b/server/services/ami/realtime/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/index.js b/server/services/ami/report/index.js
index a9790b4..90c5336 100644
--- a/server/services/ami/report/index.js
+++ b/server/services/ami/report/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/userReport.js b/server/services/ami/report/userReport.js
index fb7db69..fdf6e99 100644
--- a/server/services/ami/report/userReport.js
+++ b/server/services/ami/report/userReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceAgentReport.js b/server/services/ami/report/voiceAgentReport.js
index d45108f..feba7d4 100644
--- a/server/services/ami/report/voiceAgentReport.js
+++ b/server/services/ami/report/voiceAgentReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceCallReport.js b/server/services/ami/report/voiceCallReport.js
index 867dad7..3374f49 100644
--- a/server/services/ami/report/voiceCallReport.js
+++ b/server/services/ami/report/voiceCallReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceDialReport.js b/server/services/ami/report/voiceDialReport.js
index 20c103f..76d5dd0 100644
--- a/server/services/ami/report/voiceDialReport.js
+++ b/server/services/ami/report/voiceDialReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/report/voiceQueueReport.js b/server/services/ami/report/voiceQueueReport.js
index f1c82f7..4a889ad 100644
--- a/server/services/ami/report/voiceQueueReport.js
+++ b/server/services/ami/report/voiceQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/agentReportPreview.js b/server/services/ami/rpc/agentReportPreview.js
index fe8e62f..ca40639 100644
--- a/server/services/ami/rpc/agentReportPreview.js
+++ b/server/services/ami/rpc/agentReportPreview.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/attachment.js b/server/services/ami/rpc/attachment.js
index a0a05c4..0d90dfc 100644
--- a/server/services/ami/rpc/attachment.js
+++ b/server/services/ami/rpc/attachment.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/campaign.js b/server/services/ami/rpc/campaign.js
index 1705078..068886a 100644
--- a/server/services/ami/rpc/campaign.js
+++ b/server/services/ami/rpc/campaign.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmContact.js b/server/services/ami/rpc/cmContact.js
index 6686335..77ff284 100644
--- a/server/services/ami/rpc/cmContact.js
+++ b/server/services/ami/rpc/cmContact.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopper.js b/server/services/ami/rpc/cmHopper.js
index 3d8cee7..2237fc1 100644
--- a/server/services/ami/rpc/cmHopper.js
+++ b/server/services/ami/rpc/cmHopper.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperBlack.js b/server/services/ami/rpc/cmHopperBlack.js
index 62640f8..e74bc08 100644
--- a/server/services/ami/rpc/cmHopperBlack.js
+++ b/server/services/ami/rpc/cmHopperBlack.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperFinal.js b/server/services/ami/rpc/cmHopperFinal.js
index 24cce6a..8e0b31e 100644
--- a/server/services/ami/rpc/cmHopperFinal.js
+++ b/server/services/ami/rpc/cmHopperFinal.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/cmHopperHistory.js b/server/services/ami/rpc/cmHopperHistory.js
index 3586cf6..07cf86d 100644
--- a/server/services/ami/rpc/cmHopperHistory.js
+++ b/server/services/ami/rpc/cmHopperHistory.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/faxAccount.js b/server/services/ami/rpc/faxAccount.js
index 0fef35f..5eb4387 100644
--- a/server/services/ami/rpc/faxAccount.js
+++ b/server/services/ami/rpc/faxAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/faxMessage.js b/server/services/ami/rpc/faxMessage.js
index cbf6bb0..f07a381 100644
--- a/server/services/ami/rpc/faxMessage.js
+++ b/server/services/ami/rpc/faxMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/desk.js b/server/services/ami/rpc/integrations/desk.js
index 4af50c1..3138185 100644
--- a/server/services/ami/rpc/integrations/desk.js
+++ b/server/services/ami/rpc/integrations/desk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/dynamics365.js b/server/services/ami/rpc/integrations/dynamics365.js
index fd56c60..f289f50 100644
--- a/server/services/ami/rpc/integrations/dynamics365.js
+++ b/server/services/ami/rpc/integrations/dynamics365.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/freshdesk.js b/server/services/ami/rpc/integrations/freshdesk.js
index 3515401..95eb63f 100644
--- a/server/services/ami/rpc/integrations/freshdesk.js
+++ b/server/services/ami/rpc/integrations/freshdesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/salesforce.js b/server/services/ami/rpc/integrations/salesforce.js
index e413dc2..2cc5571 100644
--- a/server/services/ami/rpc/integrations/salesforce.js
+++ b/server/services/ami/rpc/integrations/salesforce.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/servicenow.js b/server/services/ami/rpc/integrations/servicenow.js
index 4261af8..9193e4f 100644
--- a/server/services/ami/rpc/integrations/servicenow.js
+++ b/server/services/ami/rpc/integrations/servicenow.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/sugarcrm.js b/server/services/ami/rpc/integrations/sugarcrm.js
index 609f150..8f8f656 100644
--- a/server/services/ami/rpc/integrations/sugarcrm.js
+++ b/server/services/ami/rpc/integrations/sugarcrm.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/vtiger.js b/server/services/ami/rpc/integrations/vtiger.js
index 34351b9..1e1ce7a 100644
--- a/server/services/ami/rpc/integrations/vtiger.js
+++ b/server/services/ami/rpc/integrations/vtiger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/zendesk.js b/server/services/ami/rpc/integrations/zendesk.js
index 211fd2f..073e91f 100644
--- a/server/services/ami/rpc/integrations/zendesk.js
+++ b/server/services/ami/rpc/integrations/zendesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/integrations/zoho.js b/server/services/ami/rpc/integrations/zoho.js
index 362a64a..fb2f044 100644
--- a/server/services/ami/rpc/integrations/zoho.js
+++ b/server/services/ami/rpc/integrations/zoho.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/memberReport.js b/server/services/ami/rpc/memberReport.js
index bd987c9..e90b175 100644
--- a/server/services/ami/rpc/memberReport.js
+++ b/server/services/ami/rpc/memberReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/template.js b/server/services/ami/rpc/template.js
index ff33c9b..7bd285a 100644
--- a/server/services/ami/rpc/template.js
+++ b/server/services/ami/rpc/template.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/trigger.js b/server/services/ami/rpc/trigger.js
index 8ad14b8..3111016 100644
--- a/server/services/ami/rpc/trigger.js
+++ b/server/services/ami/rpc/trigger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/trunk.js b/server/services/ami/rpc/trunk.js
index c9d6cb9..5862b13 100644
--- a/server/services/ami/rpc/trunk.js
+++ b/server/services/ami/rpc/trunk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/user.js b/server/services/ami/rpc/user.js
index 83aa6da..be75773 100644
--- a/server/services/ami/rpc/user.js
+++ b/server/services/ami/rpc/user.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceAgentReport.js b/server/services/ami/rpc/voiceAgentReport.js
index 4d42b68..18c8dbb 100644
--- a/server/services/ami/rpc/voiceAgentReport.js
+++ b/server/services/ami/rpc/voiceAgentReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceCallReport.js b/server/services/ami/rpc/voiceCallReport.js
index 228d21b..cae442c 100644
--- a/server/services/ami/rpc/voiceCallReport.js
+++ b/server/services/ami/rpc/voiceCallReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceDialReport.js b/server/services/ami/rpc/voiceDialReport.js
index 1910518..f9e84fa 100644
--- a/server/services/ami/rpc/voiceDialReport.js
+++ b/server/services/ami/rpc/voiceDialReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceExtension.js b/server/services/ami/rpc/voiceExtension.js
index d53b649..5e1de72 100644
--- a/server/services/ami/rpc/voiceExtension.js
+++ b/server/services/ami/rpc/voiceExtension.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueue.js b/server/services/ami/rpc/voiceQueue.js
index 55fcf61..997ce31 100644
--- a/server/services/ami/rpc/voiceQueue.js
+++ b/server/services/ami/rpc/voiceQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueueReport.js b/server/services/ami/rpc/voiceQueueReport.js
index 45af296..c01c75d 100644
--- a/server/services/ami/rpc/voiceQueueReport.js
+++ b/server/services/ami/rpc/voiceQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceQueueRt.js b/server/services/ami/rpc/voiceQueueRt.js
index fd0e292..8bddd31 100644
--- a/server/services/ami/rpc/voiceQueueRt.js
+++ b/server/services/ami/rpc/voiceQueueRt.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceRecording.js b/server/services/ami/rpc/voiceRecording.js
index 4ffa7b4..8736f17 100644
--- a/server/services/ami/rpc/voiceRecording.js
+++ b/server/services/ami/rpc/voiceRecording.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/rpc/voiceTransferReport.js b/server/services/ami/rpc/voiceTransferReport.js
index 2cda0a2..aa60cd2 100644
--- a/server/services/ami/rpc/voiceTransferReport.js
+++ b/server/services/ami/rpc/voiceTransferReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/server/index.js b/server/services/ami/server/index.js
index 8845a1e..0d7306c 100644
--- a/server/services/ami/server/index.js
+++ b/server/services/ami/server/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/cmContact/index.js b/server/services/ami/trigger/cmContact/index.js
index 1595ee9..7fa922c 100644
--- a/server/services/ami/trigger/cmContact/index.js
+++ b/server/services/ami/trigger/cmContact/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/index.js b/server/services/ami/trigger/index.js
index 1d03c12..e8dffdc 100644
--- a/server/services/ami/trigger/index.js
+++ b/server/services/ami/trigger/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/desk.js b/server/services/ami/trigger/integration/desk.js
index a96d33e..93cbaa6 100644
--- a/server/services/ami/trigger/integration/desk.js
+++ b/server/services/ami/trigger/integration/desk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/dynamics365.js b/server/services/ami/trigger/integration/dynamics365.js
index cd032ff..3d3763b 100644
--- a/server/services/ami/trigger/integration/dynamics365.js
+++ b/server/services/ami/trigger/integration/dynamics365.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/freshdesk.js b/server/services/ami/trigger/integration/freshdesk.js
index 85f1f5c..74ee5ea 100644
--- a/server/services/ami/trigger/integration/freshdesk.js
+++ b/server/services/ami/trigger/integration/freshdesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/index.js b/server/services/ami/trigger/integration/index.js
index 6fb8b42..730ac86 100644
--- a/server/services/ami/trigger/integration/index.js
+++ b/server/services/ami/trigger/integration/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/salesforce.js b/server/services/ami/trigger/integration/salesforce.js
index 5b06208..7e493f7 100644
--- a/server/services/ami/trigger/integration/salesforce.js
+++ b/server/services/ami/trigger/integration/salesforce.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/servicenow.js b/server/services/ami/trigger/integration/servicenow.js
index b3fdb08..7190985 100644
--- a/server/services/ami/trigger/integration/servicenow.js
+++ b/server/services/ami/trigger/integration/servicenow.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/sugarcrm.js b/server/services/ami/trigger/integration/sugarcrm.js
index e4891dd..23c0b7f 100644
--- a/server/services/ami/trigger/integration/sugarcrm.js
+++ b/server/services/ami/trigger/integration/sugarcrm.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/util.js b/server/services/ami/trigger/integration/util.js
index b2464cb..e3bf796 100644
--- a/server/services/ami/trigger/integration/util.js
+++ b/server/services/ami/trigger/integration/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/vtiger.js b/server/services/ami/trigger/integration/vtiger.js
index 431e12f..2be437e 100644
--- a/server/services/ami/trigger/integration/vtiger.js
+++ b/server/services/ami/trigger/integration/vtiger.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/zendesk.js b/server/services/ami/trigger/integration/zendesk.js
index c01568b..74a4708 100644
--- a/server/services/ami/trigger/integration/zendesk.js
+++ b/server/services/ami/trigger/integration/zendesk.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/integration/zoho.js b/server/services/ami/trigger/integration/zoho.js
index a6c89c7..0c0bab3 100644
--- a/server/services/ami/trigger/integration/zoho.js
+++ b/server/services/ami/trigger/integration/zoho.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/script/index.js b/server/services/ami/trigger/script/index.js
index 6c9f44b..e8e9a04 100644
--- a/server/services/ami/trigger/script/index.js
+++ b/server/services/ami/trigger/script/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/ami/trigger/urlforward/index.js b/server/services/ami/trigger/urlforward/index.js
index b9d901b..44d93c9 100644
--- a/server/services/ami/trigger/urlforward/index.js
+++ b/server/services/ami/trigger/urlforward/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/client.js b/server/services/email/client.js
index 5dded11..cef5c27 100644
--- a/server/services/email/client.js
+++ b/server/services/email/client.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/index.js b/server/services/email/index.js
index ef08c21..3413bd4 100644
--- a/server/services/email/index.js
+++ b/server/services/email/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/email.js b/server/services/email/lib/email.js
index 184e4f6..605a1e3 100644
--- a/server/services/email/lib/email.js
+++ b/server/services/email/lib/email.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/imap.js b/server/services/email/lib/imap.js
index 4a99232..bc527de 100644
--- a/server/services/email/lib/imap.js
+++ b/server/services/email/lib/imap.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/smtp.js b/server/services/email/lib/smtp.js
index 4b75337..1d941be 100644
--- a/server/services/email/lib/smtp.js
+++ b/server/services/email/lib/smtp.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/lib/utils.js b/server/services/email/lib/utils.js
index b49a1f0..4bbb0c1 100644
--- a/server/services/email/lib/utils.js
+++ b/server/services/email/lib/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/model/mailAccount.js b/server/services/email/model/mailAccount.js
index ebeee29..69d5fda 100644
--- a/server/services/email/model/mailAccount.js
+++ b/server/services/email/model/mailAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/realtime/index.js b/server/services/email/realtime/index.js
index 352b47c..722f68e 100644
--- a/server/services/email/realtime/index.js
+++ b/server/services/email/realtime/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/rpc/mailAccount.js b/server/services/email/rpc/mailAccount.js
index b17a0b8..e5d57f3 100644
--- a/server/services/email/rpc/mailAccount.js
+++ b/server/services/email/rpc/mailAccount.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/email/server/index.js b/server/services/email/server/index.js
index d66efa5..63fa248 100644
--- a/server/services/email/server/index.js
+++ b/server/services/email/server/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/express/index.js b/server/services/express/index.js
index 86eb9ad..2e3d685 100644
--- a/server/services/express/index.js
+++ b/server/services/express/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/client.js b/server/services/routing/client.js
index 9bc69ce..6c91198 100644
--- a/server/services/routing/client.js
+++ b/server/services/routing/client.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/index.js b/server/services/routing/index.js
index 469ec21..fdc2efa 100644
--- a/server/services/routing/index.js
+++ b/server/services/routing/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/lib/rule-engine.js b/server/services/routing/lib/rule-engine.js
index 675b40b..8439e00 100644
--- a/server/services/routing/lib/rule-engine.js
+++ b/server/services/routing/lib/rule-engine.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/mailRpc/index.js b/server/services/routing/mailRpc/index.js
index 34ff9a2..5ae1633 100644
--- a/server/services/routing/mailRpc/index.js
+++ b/server/services/routing/mailRpc/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/agent.js b/server/services/routing/model/agent.js
index d567307..601ee4e 100644
--- a/server/services/routing/model/agent.js
+++ b/server/services/routing/model/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/chatQueue.js b/server/services/routing/model/chatQueue.js
index 32a407a..fe32ca3 100644
--- a/server/services/routing/model/chatQueue.js
+++ b/server/services/routing/model/chatQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/faxQueue.js b/server/services/routing/model/faxQueue.js
index 9c452f7..23ab826 100644
--- a/server/services/routing/model/faxQueue.js
+++ b/server/services/routing/model/faxQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/interval.js b/server/services/routing/model/interval.js
index 9f7e92d..ec66427 100644
--- a/server/services/routing/model/interval.js
+++ b/server/services/routing/model/interval.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/mailQueue.js b/server/services/routing/model/mailQueue.js
index 117de17..547e0ba 100644
--- a/server/services/routing/model/mailQueue.js
+++ b/server/services/routing/model/mailQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/openchannelQueue.js b/server/services/routing/model/openchannelQueue.js
index ec60929..8a0ad2e 100644
--- a/server/services/routing/model/openchannelQueue.js
+++ b/server/services/routing/model/openchannelQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/model/smsQueue.js b/server/services/routing/model/smsQueue.js
index c798e1b..641c55d 100644
--- a/server/services/routing/model/smsQueue.js
+++ b/server/services/routing/model/smsQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/realtime/index.js b/server/services/routing/realtime/index.js
index 7625614..c46a6db 100644
--- a/server/services/routing/realtime/index.js
+++ b/server/services/routing/realtime/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatInteraction.js b/server/services/routing/rpc/chatInteraction.js
index a263096..522c26a 100644
--- a/server/services/routing/rpc/chatInteraction.js
+++ b/server/services/routing/rpc/chatInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatMessage.js b/server/services/routing/rpc/chatMessage.js
index 9a755e8..c80ab03 100644
--- a/server/services/routing/rpc/chatMessage.js
+++ b/server/services/routing/rpc/chatMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatQueue.js b/server/services/routing/rpc/chatQueue.js
index 60f2d36..95431f8 100644
--- a/server/services/routing/rpc/chatQueue.js
+++ b/server/services/routing/rpc/chatQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/chatQueueReport.js b/server/services/routing/rpc/chatQueueReport.js
index 7d74991..4e6a5ac 100644
--- a/server/services/routing/rpc/chatQueueReport.js
+++ b/server/services/routing/rpc/chatQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxInteraction.js b/server/services/routing/rpc/faxInteraction.js
index a4c53a1..0198620 100644
--- a/server/services/routing/rpc/faxInteraction.js
+++ b/server/services/routing/rpc/faxInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxMessage.js b/server/services/routing/rpc/faxMessage.js
index e2ea6b8..aabaf27 100644
--- a/server/services/routing/rpc/faxMessage.js
+++ b/server/services/routing/rpc/faxMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxQueue.js b/server/services/routing/rpc/faxQueue.js
index 3eac8c0..0114b4e 100644
--- a/server/services/routing/rpc/faxQueue.js
+++ b/server/services/routing/rpc/faxQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/faxQueueReport.js b/server/services/routing/rpc/faxQueueReport.js
index 4835779..deae67f 100644
--- a/server/services/routing/rpc/faxQueueReport.js
+++ b/server/services/routing/rpc/faxQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/interval.js b/server/services/routing/rpc/interval.js
index 9982105..3978e55 100644
--- a/server/services/routing/rpc/interval.js
+++ b/server/services/routing/rpc/interval.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailInteraction.js b/server/services/routing/rpc/mailInteraction.js
index 6fad4ef..b6db7b3 100644
--- a/server/services/routing/rpc/mailInteraction.js
+++ b/server/services/routing/rpc/mailInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailMessage.js b/server/services/routing/rpc/mailMessage.js
index bd4dac0..259e5cc 100644
--- a/server/services/routing/rpc/mailMessage.js
+++ b/server/services/routing/rpc/mailMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailQueue.js b/server/services/routing/rpc/mailQueue.js
index 79eb2bb..c239798 100644
--- a/server/services/routing/rpc/mailQueue.js
+++ b/server/services/routing/rpc/mailQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/mailQueueReport.js b/server/services/routing/rpc/mailQueueReport.js
index 56b5c92..d490a6f 100644
--- a/server/services/routing/rpc/mailQueueReport.js
+++ b/server/services/routing/rpc/mailQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelInteraction.js b/server/services/routing/rpc/openchannelInteraction.js
index 13c128a..e143e8b 100644
--- a/server/services/routing/rpc/openchannelInteraction.js
+++ b/server/services/routing/rpc/openchannelInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelMessage.js b/server/services/routing/rpc/openchannelMessage.js
index d61b460..ff6e73e 100644
--- a/server/services/routing/rpc/openchannelMessage.js
+++ b/server/services/routing/rpc/openchannelMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelQueue.js b/server/services/routing/rpc/openchannelQueue.js
index 4d70096..eeec405 100644
--- a/server/services/routing/rpc/openchannelQueue.js
+++ b/server/services/routing/rpc/openchannelQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/openchannelQueueReport.js b/server/services/routing/rpc/openchannelQueueReport.js
index 5321ac5..893dc67 100644
--- a/server/services/routing/rpc/openchannelQueueReport.js
+++ b/server/services/routing/rpc/openchannelQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsInteraction.js b/server/services/routing/rpc/smsInteraction.js
index bde29a5..0a71d05 100644
--- a/server/services/routing/rpc/smsInteraction.js
+++ b/server/services/routing/rpc/smsInteraction.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsMessage.js b/server/services/routing/rpc/smsMessage.js
index 70d85f5..8e2a5b3 100644
--- a/server/services/routing/rpc/smsMessage.js
+++ b/server/services/routing/rpc/smsMessage.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsQueue.js b/server/services/routing/rpc/smsQueue.js
index afbc8d6..e23753a 100644
--- a/server/services/routing/rpc/smsQueue.js
+++ b/server/services/routing/rpc/smsQueue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/smsQueueReport.js b/server/services/routing/rpc/smsQueueReport.js
index 3872ef6..5521a80 100644
--- a/server/services/routing/rpc/smsQueueReport.js
+++ b/server/services/routing/rpc/smsQueueReport.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/rpc/user.js b/server/services/routing/rpc/user.js
index 1bf3f09..fc511f2 100644
--- a/server/services/routing/rpc/user.js
+++ b/server/services/routing/rpc/user.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/agent.js b/server/services/routing/server/applications/agent.js
index b847da9..e1ff8af 100644
--- a/server/services/routing/server/applications/agent.js
+++ b/server/services/routing/server/applications/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/amazonlex.js b/server/services/routing/server/applications/amazonlex.js
index 198e4a3..3cf8955 100644
--- a/server/services/routing/server/applications/amazonlex.js
+++ b/server/services/routing/server/applications/amazonlex.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/autoreply.js b/server/services/routing/server/applications/autoreply.js
index 50fc73e..cc97eeb 100644
--- a/server/services/routing/server/applications/autoreply.js
+++ b/server/services/routing/server/applications/autoreply.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/close.js b/server/services/routing/server/applications/close.js
index b9a2bf4..addcdbc 100644
--- a/server/services/routing/server/applications/close.js
+++ b/server/services/routing/server/applications/close.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/dialogflow.js b/server/services/routing/server/applications/dialogflow.js
index c54e0cb..b6cd12e 100644
--- a/server/services/routing/server/applications/dialogflow.js
+++ b/server/services/routing/server/applications/dialogflow.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/gotoif.js b/server/services/routing/server/applications/gotoif.js
index d4b3cfe..7b01625 100644
--- a/server/services/routing/server/applications/gotoif.js
+++ b/server/services/routing/server/applications/gotoif.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/gotop.js b/server/services/routing/server/applications/gotop.js
index a16e2f8..5262142 100644
--- a/server/services/routing/server/applications/gotop.js
+++ b/server/services/routing/server/applications/gotop.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/message.js b/server/services/routing/server/applications/message.js
index a0eae07..e3b2cbc 100644
--- a/server/services/routing/server/applications/message.js
+++ b/server/services/routing/server/applications/message.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/noop.js b/server/services/routing/server/applications/noop.js
index 489c75e..f93d8c5 100644
--- a/server/services/routing/server/applications/noop.js
+++ b/server/services/routing/server/applications/noop.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/queue.js b/server/services/routing/server/applications/queue.js
index b3ac783..6f02894 100644
--- a/server/services/routing/server/applications/queue.js
+++ b/server/services/routing/server/applications/queue.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/agent.js b/server/services/routing/server/applications/strategy/agent.js
index 0708d61..63158a7 100644
--- a/server/services/routing/server/applications/strategy/agent.js
+++ b/server/services/routing/server/applications/strategy/agent.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/beepall.js b/server/services/routing/server/applications/strategy/beepall.js
index b92b110..d4a17be 100644
--- a/server/services/routing/server/applications/strategy/beepall.js
+++ b/server/services/routing/server/applications/strategy/beepall.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/index.js b/server/services/routing/server/applications/strategy/index.js
index f994259..f956712 100644
--- a/server/services/routing/server/applications/strategy/index.js
+++ b/server/services/routing/server/applications/strategy/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x5ff9=['./agent','exports','./rrmemory'];(function(_0xf71120,_0x25b7f9){var _0xbe2fd3=function(_0x1acbdd){while(--_0x1acbdd){_0xf71120['push'](_0xf71120['shift']());}};_0xbe2fd3(++_0x25b7f9);}(_0x5ff9,0xa0));var _0x95ff=function(_0x44a737,_0x5b5ed4){_0x44a737=_0x44a737-0x0;var _0x59b569=_0x5ff9[_0x44a737];return _0x59b569;};'use strict';module[_0x95ff('0x0')]={'rrmemory':require(_0x95ff('0x1')),'beepall':require('./beepall'),'agent':require(_0x95ff('0x2'))};
\ No newline at end of file
+var _0xa7e6=['exports','./rrmemory','./beepall','./agent'];(function(_0x307d86,_0x9264f2){var _0x361745=function(_0x1b64e1){while(--_0x1b64e1){_0x307d86['push'](_0x307d86['shift']());}};_0x361745(++_0x9264f2);}(_0xa7e6,0x74));var _0x6a7e=function(_0x3a81f3,_0x218733){_0x3a81f3=_0x3a81f3-0x0;var _0x3693d1=_0xa7e6[_0x3a81f3];return _0x3693d1;};'use strict';module[_0x6a7e('0x0')]={'rrmemory':require(_0x6a7e('0x1')),'beepall':require(_0x6a7e('0x2')),'agent':require(_0x6a7e('0x3'))};
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/rrmemory.js b/server/services/routing/server/applications/strategy/rrmemory.js
index 558e133..3fcc66d 100644
--- a/server/services/routing/server/applications/strategy/rrmemory.js
+++ b/server/services/routing/server/applications/strategy/rrmemory.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/strategy/util.js b/server/services/routing/server/applications/strategy/util.js
index b4e251e..ac0981f 100644
--- a/server/services/routing/server/applications/strategy/util.js
+++ b/server/services/routing/server/applications/strategy/util.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/system.js b/server/services/routing/server/applications/system.js
index 9cef830..c55bf7a 100644
--- a/server/services/routing/server/applications/system.js
+++ b/server/services/routing/server/applications/system.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/tag.js b/server/services/routing/server/applications/tag.js
index 3308c21..a1e81b4 100644
--- a/server/services/routing/server/applications/tag.js
+++ b/server/services/routing/server/applications/tag.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/applications/utils.js b/server/services/routing/server/applications/utils.js
index b0f3682..245b526 100644
--- a/server/services/routing/server/applications/utils.js
+++ b/server/services/routing/server/applications/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/index.js b/server/services/routing/server/index.js
index 439307a..3d12244 100644
--- a/server/services/routing/server/index.js
+++ b/server/services/routing/server/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/routing/server/interval.js b/server/services/routing/server/interval.js
index f42ddc9..b6e7319 100644
--- a/server/services/routing/server/interval.js
+++ b/server/services/routing/server/interval.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/agents.controller.js b/server/services/xdr/agents.controller.js
index 9e51fd1..fcd71f3 100644
--- a/server/services/xdr/agents.controller.js
+++ b/server/services/xdr/agents.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/calls.controller.js b/server/services/xdr/calls.controller.js
index 04f6fe3..b317700 100644
--- a/server/services/xdr/calls.controller.js
+++ b/server/services/xdr/calls.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/core.controller.js b/server/services/xdr/core.controller.js
index 79b847a..1deafe7 100644
--- a/server/services/xdr/core.controller.js
+++ b/server/services/xdr/core.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/dials.controller.js b/server/services/xdr/dials.controller.js
index 52b75d2..ad6b4bd 100644
--- a/server/services/xdr/dials.controller.js
+++ b/server/services/xdr/dials.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/index.js b/server/services/xdr/index.js
index 627d47f..3c18d24 100644
--- a/server/services/xdr/index.js
+++ b/server/services/xdr/index.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/members.controller.js b/server/services/xdr/members.controller.js
index e384f71..c5eb943 100644
--- a/server/services/xdr/members.controller.js
+++ b/server/services/xdr/members.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/queues.controller.js b/server/services/xdr/queues.controller.js
index 5a7bb74..cffe035 100644
--- a/server/services/xdr/queues.controller.js
+++ b/server/services/xdr/queues.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/recordings.controller.js b/server/services/xdr/recordings.controller.js
index e08862c..159302c 100644
--- a/server/services/xdr/recordings.controller.js
+++ b/server/services/xdr/recordings.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/transfers.controller.js b/server/services/xdr/transfers.controller.js
index ce4a218..2a8ad21 100644
--- a/server/services/xdr/transfers.controller.js
+++ b/server/services/xdr/transfers.controller.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/server/services/xdr/utils.js b/server/services/xdr/utils.js
index fa38e36..a9d9f0f 100644
--- a/server/services/xdr/utils.js
+++ b/server/services/xdr/utils.js
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold. 		           *
 // *                                                                       *
 // *************************************************************************
\ No newline at end of file
\ No newline at end of file
diff --git a/snippet/1.0.14/scripts/app.js b/snippet/1.0.14/scripts/app.js
index 0900b87..32c5d73 100644
--- a/snippet/1.0.14/scripts/app.js
+++ b/snippet/1.0.14/scripts/app.js
@@ -337,7 +337,7 @@ function() {
         }
 
         function p(e) {
         }
 
         function a(e, t, n) {
@@ -354,9 +354,9 @@ function() {
         window.addEventListener("message", function(e) {
             "show" == e.data.evt ? f(!0) : "hide" == e.data.evt && f(!1)
         }, !1), window.addEventListener("resize", function(e) {
-            document.getElementById("chatContent1") && p(u())
+            document.getElementById("chatContent1") && document.getElementById("chat-app") && document.getElementById("id-row") && p(u())
         }), window.visualViewport && window.visualViewport.addEventListener("resize", function(e) {
-            document.getElementById("chatContent1") && p(u())
+            document.getElementById("chatContent1") && document.getElementById("chat-app") && document.getElementById("id-row") && p(u())
         })
     }
     e.$inject = ["$rootScope", "$window", "$state", "$mdDialog", "$q", "localStorageService", "api", "STORAGE_LAYOUT", "STORAGE_VISITOR"], angular.module("motion").config(["$mdGestureProvider", function(e) {
@@ -694,5 +694,5 @@ function() {
     e.$inject = ["$rootScope", "$scope", "$interval", "$state", "$window", "api", "STORAGE_VISITOR", "STORAGE_LAYOUT"], angular.module("motion").controller("WaitingController", e)
 }(), angular.module("motion").run(["$templateCache", function(e) {
     "use strict";
-    e.put("app/chat/index.html", "\x3c!-- CHAT CONTENT --\x3e\n<md-content id=\"chatContent1\" class=\"chat-messages\" ng-style=\"{'background-color': '{{settings.backgroundColor}}'}\">\n  <div layout=\"row\" ng-if=\"!$first\" ng-repeat=\"(key, message) in messages track by $index\" class=\"md-padding message-row\" ng-style=\"{'font-size': '{{settings.messageFontSize}}px'}\" ng-class=\"{'in':( message.direction === 'in' && settings.messagesAlignment === 'alternate'), 'in2': ( message.direction === 'in' && settings.messagesAlignment === 'centered'), 'out': message.direction === 'out' && message.UserId, 'auto': message.direction === 'out' && !message.UserId}\">\n    <img ng-if=\"message.direction ==='out' && !message.UserId\" ng-src=\"{{settings.remote}}/api/chat/websites/{{settings.id}}/system_avatar?token={{settings.token}}\" class=\"avatar\" alt=\"system\" />\n    <img ng-if=\"message.direction ==='out' && message.UserId\" ng-src=\"{{settings.remote}}/api/{{settings.showAgentAvatar ? 'users/' + visitor.interaction.UserId + '/avatar' : 'chat/websites/' + settings.id + '/avatar'}}?token={{settings.token}}\" class=\"avatar\" alt=\"agent\" />\n    <img ng-if=\"message.direction ==='in'\" ng-src=\"{{settings.remote}}/api/chat/websites/{{settings.id}}/customer_avatar?token={{settings.token}}\" class=\"avatar\" alt=\"customer\" />\n\n    <div class=\"bubble\">\n      <div layout=\"row\" layout-align=\"end center\">\n        <div class=\"time secondary-text\" ng-switch=\"settings.agentIdentifier\">\n          <span ng-switch-when=\"website_alias\">\n            {{message.direction === 'out' ? (message.UserId ? (settings.agentAlias + message.UserId) : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n          <span ng-switch-when=\"agent_alias\">\n            {{message.direction === 'out' ? (message.UserId ? (message.User.alias || message.User.fullname) : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n          <span ng-switch-when=\"agent_fullname\">\n            {{message.direction === 'out' ? (message.UserId ? message.User.fullname : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n          <span ng-switch-default>\n            {{message.direction === 'out' ? (message.UserId ? ((settings.agentAlias || 'Agent') + message.UserId) : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n        </div>\n        <div style=\"padding-left: 5px;\" ng-if=\"message.direction === 'in' && settings.enableCustomerCheckmarks\">\n          <i ng-if=\"!message.read\" class=\"mdi mdi-18px mdi-check\" style=\"color: grey\"></i>\n          <i ng-if=\"message.read\" class=\"mdi mdi-18px mdi-check-all\" style=\"color: #34b7f1\"></i>\n        </div>\n      </div>\n      <div ng-class=\"{'in': message.direction === 'in', 'out': message.direction ==='out' && message.UserId, 'auto': message.direction ==='out' && !message.UserId}\">\n" + '        <div ng-if="message.AttachmentId" ng-bind-html="message.body" class="message"></div>\n        <div ng-if="!message.AttachmentId" ng-bind-html="message.body | embed:vm.emojiOptions" class="message"></div>\n      </div>\n    </div>\n  </div>\n\n  \x3c!-- CHAT ERROR --\x3e\n  <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-align="center end" layout-margin>\n      <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n      <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n      <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n  </div>\n  \x3c!-- CHAT ERROR --\x3e\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n\n\x3c!-- CHAT FOOTER --\x3e\n<div layout="row" layout-align="center center" class="chat-footer md-padding">\n  <div layout="row" layout-align="end center">\n    <md-button ng-if="settings.enableCustomerAttachment" class="md-fab md-mini md-warn" type="button" flow-init flow-btn flow-file-added="vm.fileAdded($file, $event, $flow)">\n      <i class="mdi mdi-attachment mdi-24px mdi-light"></i>\n    </md-button>\n  </div>\n  <input id="emojionearea"></input>\n</div>\n\x3c!-- / CHAT FOOTER --\x3e'), e.put("app/closing/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-online">\n  \x3c!-- CHAT ERROR --\x3e\n  <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n    <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n    <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n    <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n  </div>\n  \x3c!-- CHAT ERROR --\x3e\n\n  <md-content layout="row" layout-align="center end">\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{ settings.closingMessage }}</span>\n  </md-content>\n\n  <form name="vm.userForm" layout="column" ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <md-input-container ng-if="settings.enableRating" ng-switch="settings.ratingType" class="md-block" style="margin: 0px; padding: 10px 0px 5px 0px;" md-no-float>\n      \x3c!-- START thumb rating --\x3e\n      <md-radio-group name="ratingValue" ng-switch-when="thumb" ng-model="vm.form.ratingValue" ng-change="vm.upColor = vm.form.ratingValue ? \'green\' : null; vm.downColor = !vm.form.ratingValue ? \'red\' : null;" layout="row" layout-align="center center">\n        <md-radio-button ng-value="1" class="thumb">\n          <div class="{{vm.upColor}}">\n            <i class="mdi mdi-48px mdi-thumb-up-outline"></i>\n          </div>\n        </md-radio-button>\n        <md-radio-button ng-value="0" class="thumb">\n          <div class="{{vm.downColor}}">\n            <i class="mdi mdi-48px mdi-thumb-down-outline"></i>\n          </div>\n        </md-radio-button>\n      </md-radio-group>\n      \x3c!-- END thumb rating --\x3e\n\n      \x3c!-- START star rating --\x3e\n      <div ng-switch-when="star" layout="row" layout-align="center center">\n        <ng-rate-it name="ratingValue" ng-model="vm.form.ratingValue" min="0" max="settings.ratingStarsNumber" step="1" resetable="false"></ng-rate-it>\n      </div>\n      \x3c!-- END star rating --\x3e\n    </md-input-container>\n\n    <md-input-container ng-if="settings.enableFeedback" class="md-block" style="margin: 0px; padding: 0px 0px 10px 0px;" md-no-float>\n      \x3c!-- START textarea --\x3e\n      <span style="padding: 5px 0px 5px 0px;">Feedback</span>\n      <textarea name="message" ng-model="vm.form.ratingMessage" md-maxlength="150" rows="3"></textarea>\n      \x3c!-- END textarea --\x3e\n    </md-input-container>\n\n    <md-input-container ng-if="settings.forwardTranscript" class="md-block" style="margin: 0px; padding: 0px 0px 10px 0px;" md-no-float>\n      <span ng-if="settings.forwardTranscriptMessage" style="padding: 5px 0px 5px 0px;">{{settings.forwardTranscriptMessage}}</span>\n      <span ng-if="!settings.forwardTranscriptMessage" style="padding: 5px 0px 5px 0px;">Email</span>\n      \x3c!-- START email --\x3e\n      <input type="email" name="mailTranscript" ng-model="vm.form.mailTranscript" placeholder="email">\n      <div ng-messages="vm.userForm[\'mailTranscript\'].$error" ng-show="vm.userForm[\'mailTranscript\'].$touched" role="alert">\n        <div ng-message="email">\n            <span>Email must be a valid e-mail address</span>\n        </div>\n      </div>\n      \x3c!-- END email --\x3e\n    </md-input-container>\n\n    <div layout="row" layout-align="center center">\n      <md-button title="{{settings.closingMessageButton}}" class="md-raised" ng-if="settings.enableRating || settings.enableFeedback || settings.forwardTranscript" ng-click="vm.submit()" ng-disabled="vm.userForm.$invalid || loading" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n        {{settings.closingMessageButton}}\n      </md-button>\n      <md-button title="{{settings.skipMessageButton}}"class="md-raised" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}" ng-click="vm.skip()">\n        {{settings.skipMessageButton}}\n      </md-button>\n    </div>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/offline/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-online">\n\n  <div id="toaster"></div>\n\n  <form ng-if="vm.fields.length" name="vm.userForm" layout="column" ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <div ng-repeat="field in ::vm.fields | orderBy:\'index\'" layout="column">\n      <span>{{field.props.title + (field.config.required ? \'*\' : \'\')}}</span>\n\n      <span style="font-size: 13px; line-height: 14px; color: grey; padding: 5px 0px 5px 0px;">\n        <div ng-bind-html="field.props.helpText | embed:{linkTarget:\'_blank\'}"></div>\n      </span>\n\n      \x3c!-- CHAT ERROR --\x3e\n      <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n        <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n        <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n        <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n      </div>\n      \x3c!-- CHAT ERROR --\x3e\n\n      <md-input-container md-no-float ng-switch="field.type" style="margin: 0px; padding: 0px 0px 10px 0px;">\n        \x3c!-- START label --\x3e\n        <div ng-switch-when="label">\n          <md-content flex layout-padding layout="row" layout-align="center center">\n            <span>{{field.value}}</span>\n          </md-content>\n        </div>\n        \x3c!-- END label --\x3e\n\n        \x3c!-- START textinput --\x3e\n        <div ng-switch-when="input">\n          <input name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" type="{{field.config.type}}" ng-required="field.config.required">\n        </div>\n        \x3c!-- END textinput --\x3e\n\n        \x3c!-- START textarea --\x3e\n        <div ng-switch-when="textarea">\n          <textarea name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" md-maxlength="150" rows="3"></textarea>\n        </div>\n        \x3c!-- END textarea --\x3e\n\n        \x3c!-- START select --\x3e\n        <div ng-switch-when="chooseFromList">\n          <md-select name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" ng-required="field.config.required">\n            <md-option ng-repeat="option in ::field.options" ng-value="option.value">{{option.value}}</md-option>\n          </md-select>\n        </div>\n        \x3c!-- END select --\x3e\n\n        \x3c!-- START radio --\x3e\n        <div ng-switch-when="multipleChoices" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n          <md-radio-group name="{{field.props.title}}" ng-model="vm.form[field.props.title]" ng-required="field.config.required" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-radio-button ng-repeat="option in ::field.options" value="{{option.value}}" class="md-primary">{{option.value}}</md-radio-button>\n          </md-radio-group>\n        </div>\n        \x3c!-- END radio --\x3e\n\n        \x3c!-- START checkbox --\x3e\n        <div ng-switch-when="checkboxes">\n          <div layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-checkbox\n            md-no-ink\n            aria-label="{{field.props.title}}"\n            ng-repeat="option in ::field.options"\n            ng-checked="vm.exists(field.props.title, option.value)"\n            ng-disabled="!vm.exists(field.props.title, option.value) && field.config.maxSelections === vm.form[field.props.title].length"\n            ng-click="vm.toggle(field.props.title, option.value)"\n            flex>\n              {{option.value}}\n            </md-checkbox>\n          </div>\n        </div>\n        \x3c!-- END checkbox --\x3e\n\n        \x3c!-- START agreement --\x3e\n        <div ng-switch-when="agreement" layout="column">\n            <md-checkbox md-no-ink ng-model="vm.form[field.props.title]" aria-label="{{field.props.title}}" ng-required="field.config.required">\n              {{field.options[0].value}}\n            </md-checkbox>\n        </div>\n        \x3c!-- END agreement --\x3e\n\n        <div ng-messages="vm.userForm[field.props.title].$error" ng-show="vm.userForm[field.props.title].$touched" role="alert">\n            <div ng-message="required">\n                <span>Required Field</span>\n            </div>\n            <div ng-message="email">\n                <span>Wrong type field</span>\n            </div>\n        </div>\n      </md-input-container>\n    </div>\n\n    <md-button title="{{settings.offline_chat_button}}" ng-click="vm.submit()" class="md-raised" ng-disabled="vm.userForm.$invalid || vm.userForm.$pristine || loading" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n      {{settings.offline_chat_button}}\n    </md-button>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/online/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-online">\n  <form ng-if="vm.fields.length" name="vm.userForm" layout="column" ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <div ng-repeat="field in ::vm.fields | orderBy:\'index\'" layout="column">\n      <span>{{field.props.title + (field.config.required ? \'*\' : \'\')}}</span>\n\n      <span style="line-height: 14px; color: grey; padding: 5px 0px 5px 0px;">\n        <div ng-bind-html="field.props.helpText | embed:{linkTarget:\'_blank\'}"></div>\n      </span>\n\n      \x3c!-- CHAT ERROR --\x3e\n      <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n        <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n        <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n        <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n      </div>\n      \x3c!-- CHAT ERROR --\x3e\n\n      <md-input-container md-no-float ng-switch="field.type" style="margin: 0px; padding: 0px 0px 10px 0px;">\n        \x3c!-- START label --\x3e\n        <div ng-switch-when="label">\n          <md-content flex layout-padding layout="row" layout-align="center center">\n            <span>{{field.value}}</span>\n          </md-content>\n        </div>\n        \x3c!-- END label --\x3e\n\n        \x3c!-- START textinput --\x3e\n        <div ng-switch-when="input">\n          <input name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" type="{{field.config.type}}" ng-required="field.config.required">\n        </div>\n        \x3c!-- END textinput --\x3e\n\n        \x3c!-- START textarea --\x3e\n        <div ng-switch-when="textarea">\n          <textarea name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" md-maxlength="150" rows="3"></textarea>\n        </div>\n        \x3c!-- END textarea --\x3e\n\n        \x3c!-- START select --\x3e\n        <div ng-switch-when="chooseFromList">\n          <md-select name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" ng-required="field.config.required">\n            <md-option ng-repeat="option in ::field.options" ng-value="option.value">{{option.value}}</md-option>\n          </md-select>\n        </div>\n        \x3c!-- END select --\x3e\n\n        \x3c!-- START radio --\x3e\n        <div ng-switch-when="multipleChoices">\n          <md-radio-group md-no-ink name="{{field.props.title}}" ng-model="vm.form[field.props.title]" ng-required="field.config.required" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-radio-button ng-repeat="option in ::field.options" ng-value="option.value" class="md-primary">{{option.value}}</md-radio-button>\n          </md-radio-group>\n        </div>\n        \x3c!-- END radio --\x3e\n\n        \x3c!-- START checkbox --\x3e\n        <div ng-switch-when="checkboxes" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-checkbox\n            md-no-ink\n            aria-label="{{field.props.title}}"\n            ng-repeat="option in ::field.options"\n            ng-checked="vm.exists(field.props.title, option.value)"\n            ng-disabled="!vm.exists(field.props.title, option.value) && field.config.maxSelections === vm.form[field.props.title].length"\n            ng-required="vm.getSelected()"\n            ng-click="vm.toggle(field.props.title, option.value)">\n              {{option.value}}\n            </md-checkbox>\n        </div>\n        \x3c!-- END checkbox --\x3e\n\n        \x3c!-- START agreement --\x3e\n        <div ng-switch-when="agreement" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-checkbox md-no-ink ng-model="vm.form[field.props.title]" aria-label="{{field.props.title}}" ng-required="field.config.required">\n              {{field.options[0].value}}\n            </md-checkbox>\n        </div>\n        \x3c!-- END agreement --\x3e\n\n        <div ng-messages="vm.userForm[field.props.title].$error" ng-show="vm.userForm[field.props.title].$touched" role="alert">\n            <div ng-message="required">\n                <span>Required Field</span>\n            </div>\n            <div ng-message="email">\n                <span>Wrong type field</span>\n            </div>\n        </div>\n      </md-input-container>\n    </div>\n    <md-button title="{{settings.start_chat_button}}" class="md-raised" ng-click="vm.submit()" ng-disabled="vm.userForm.$invalid || vm.userForm.$pristine || vm.disableItem" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n      {{settings.start_chat_button}}\n    </md-button>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/unmanaged/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-unmanaged">\n  \x3c!-- CHAT ERROR --\x3e\n  <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n    <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n    <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n    <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n  </div>\n  \x3c!-- CHAT ERROR --\x3e\n\n  <md-content layout="row" layout-margin>\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{ settings.unmanagedMessage }}</span>\n  </md-content>\n\n  <form name="vm.userForm" layout="column" layout-margin ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <span>{{ settings.noteTitle || \'Note\' }}</span>\n\n    <md-input-container ng-if="settings.enableUnmanagedNote" class="md-block" style="margin: 0px; padding: 0px 0px 10px 0px;" md-no-float>\n      \x3c!-- START textarea --\x3e\n      <textarea name="note" ng-model="vm.form.note" md-maxlength="150" rows="3"></textarea>\n      \x3c!-- END textarea --\x3e\n    </md-input-container>\n\n    <div layout="row" layout-align="center center">\n      <md-button title="{{settings.sendUnmanaged}}" ng-if="settings.enableUnmanagedNote" ng-click="vm.submit()" class="md-raised" ng-disabled="vm.userForm.$invalid || loading" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n        {{settings.sendUnmanaged}}\n      </md-button>\n      <md-button title="{{settings.skipUnmanaged}}" class="md-raised" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}" ng-click="vm.skip()">\n        {{settings.skipUnmanaged}}\n      </md-button>\n    </div>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/waiting/index.html", '\x3c!-- WAITING CONTENT --\x3e\n<md-content id="waiting" layout="column" layout-align="center center">\n  <div layout="row" layout-align="center center" class="sk-fading-circle" flex="10">\n    <div class="sk-circle1 sk-circle"></div>\n    <div class="sk-circle2 sk-circle"></div>\n    <div class="sk-circle3 sk-circle"></div>\n    <div class="sk-circle4 sk-circle"></div>\n    <div class="sk-circle5 sk-circle"></div>\n    <div class="sk-circle6 sk-circle"></div>\n    <div class="sk-circle7 sk-circle"></div>\n    <div class="sk-circle8 sk-circle"></div>\n    <div class="sk-circle9 sk-circle"></div>\n    <div class="sk-circle10 sk-circle"></div>\n    <div class="sk-circle11 sk-circle"></div>\n    <div class="sk-circle12 sk-circle"></div>\n  </div>\n  <div layout="row" layout-align="center end" flex>\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{settings.waitingTitle}}</span>\n  </div>\n  <div layout="row" layout-align="center start" class="subtitle" flex>\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{settings.waitingMessage}}</span>\n  </div>\n</md-content>\n\x3c!-- / WAITING CONTENT --\x3e\n')
+    e.put("app/chat/index.html", "\x3c!-- CHAT CONTENT --\x3e\n<md-content id=\"chatContent1\" class=\"chat-messages\" ng-style=\"{'background-color': '{{settings.backgroundColor}}'}\">\n  <div layout=\"row\" ng-if=\"!$first\" ng-repeat=\"(key, message) in messages track by $index\" class=\"md-padding message-row\" ng-style=\"{'font-size': '{{settings.messageFontSize}}px'}\" ng-class=\"{'in':( message.direction === 'in' && settings.messagesAlignment === 'alternate'), 'in2': ( message.direction === 'in' && settings.messagesAlignment === 'centered'), 'out': message.direction === 'out' && message.UserId, 'auto': message.direction === 'out' && !message.UserId}\">\n    <img ng-if=\"message.direction ==='out' && !message.UserId\" ng-src=\"{{settings.remote}}/api/chat/websites/{{settings.id}}/system_avatar?token={{settings.token}}\" class=\"avatar\" alt=\"system\" />\n    <img ng-if=\"message.direction ==='out' && message.UserId\" ng-src=\"{{settings.remote}}/api/{{settings.showAgentAvatar ? 'users/' + visitor.interaction.UserId + '/avatar' : 'chat/websites/' + settings.id + '/avatar'}}?token={{settings.token}}\" class=\"avatar\" alt=\"agent\" />\n    <img ng-if=\"message.direction ==='in'\" ng-src=\"{{settings.remote}}/api/chat/websites/{{settings.id}}/customer_avatar?token={{settings.token}}\" class=\"avatar\" alt=\"customer\" />\n\n    <div class=\"bubble\">\n      <div layout=\"row\" layout-align=\"end center\">\n        <div class=\"time secondary-text\" ng-switch=\"settings.agentIdentifier\">\n          <span ng-switch-when=\"website_alias\">\n            {{message.direction === 'out' ? (message.UserId ? (settings.agentAlias + message.UserId) : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n          <span ng-switch-when=\"agent_alias\">\n            {{message.direction === 'out' ? (message.UserId ? (message.User.alias || message.User.fullname) : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n          <span ng-switch-when=\"agent_fullname\">\n            {{message.direction === 'out' ? (message.UserId ? message.User.fullname : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n          <span ng-switch-default>\n            {{message.direction === 'out' ? (message.UserId ? ((settings.agentAlias || 'Agent') + message.UserId) : settings.systemAlias) : (settings.customerAlias || visitor.from || 'Visitor' + message.ContactId)}} - {{message.createdAt | date : 'h:mm'}}\n          </span>\n        </div>\n        <div style=\"padding-left: 5px;\" ng-if=\"message.direction === 'in' && settings.enableCustomerCheckmarks\">\n          <i ng-if=\"!message.read\" class=\"mdi mdi-18px mdi-check\" style=\"color: grey\"></i>\n          <i ng-if=\"message.read\" class=\"mdi mdi-18px mdi-check-all\" style=\"color: #34b7f1\"></i>\n        </div>\n      </div>\n      <div ng-class=\"{'in': message.direction === 'in', 'out': message.direction ==='out' && message.UserId, 'auto': message.direction ==='out' && !message.UserId}\">\n" + '        <div ng-if="message.AttachmentId" ng-bind-html="message.body" class="message"></div>\n        <div ng-if="!message.AttachmentId" ng-bind-html="message.body | embed:vm.emojiOptions" class="message"></div>\n      </div>\n    </div>\n  </div>\n\n  \x3c!-- CHAT ERROR --\x3e\n  <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-align="center end" layout-margin>\n      <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n      <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n      <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n  </div>\n  \x3c!-- CHAT ERROR --\x3e\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n\n\x3c!-- CHAT FOOTER --\x3e\n<div layout="row" layout-align="center center" class="chat-footer md-padding">\n  <div layout="row" layout-align="end center">\n    <md-button ng-if="settings.enableCustomerAttachment" class="md-fab md-mini md-warn" type="button" flow-init flow-btn flow-file-added="vm.fileAdded($file, $event, $flow)">\n      <i class="mdi mdi-attachment mdi-20px mdi-light"></i>\n    </md-button>\n  </div>\n  <input id="emojionearea"></input>\n</div>\n\x3c!-- / CHAT FOOTER --\x3e'), e.put("app/closing/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-online">\n  \x3c!-- CHAT ERROR --\x3e\n  <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n    <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n    <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n    <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n  </div>\n  \x3c!-- CHAT ERROR --\x3e\n\n  <md-content layout="row" layout-align="center end">\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{ settings.closingMessage }}</span>\n  </md-content>\n\n  <form name="vm.userForm" layout="column" ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <md-input-container ng-if="settings.enableRating" ng-switch="settings.ratingType" class="md-block" style="margin: 0px; padding: 10px 0px 5px 0px;" md-no-float>\n      \x3c!-- START thumb rating --\x3e\n      <md-radio-group name="ratingValue" ng-switch-when="thumb" ng-model="vm.form.ratingValue" ng-change="vm.upColor = vm.form.ratingValue ? \'green\' : null; vm.downColor = !vm.form.ratingValue ? \'red\' : null;" layout="row" layout-align="center center">\n        <md-radio-button ng-value="1" class="thumb">\n          <div class="{{vm.upColor}}">\n            <i class="mdi mdi-48px mdi-thumb-up-outline"></i>\n          </div>\n        </md-radio-button>\n        <md-radio-button ng-value="0" class="thumb">\n          <div class="{{vm.downColor}}">\n            <i class="mdi mdi-48px mdi-thumb-down-outline"></i>\n          </div>\n        </md-radio-button>\n      </md-radio-group>\n      \x3c!-- END thumb rating --\x3e\n\n      \x3c!-- START star rating --\x3e\n      <div ng-switch-when="star" layout="row" layout-align="center center">\n        <ng-rate-it name="ratingValue" ng-model="vm.form.ratingValue" min="0" max="settings.ratingStarsNumber" step="1" resetable="false"></ng-rate-it>\n      </div>\n      \x3c!-- END star rating --\x3e\n    </md-input-container>\n\n    <md-input-container ng-if="settings.enableFeedback" class="md-block" style="margin: 0px; padding: 0px 0px 10px 0px;" md-no-float>\n      \x3c!-- START textarea --\x3e\n      <span style="padding: 5px 0px 5px 0px;">Feedback</span>\n      <textarea name="message" ng-model="vm.form.ratingMessage" md-maxlength="150" rows="3"></textarea>\n      \x3c!-- END textarea --\x3e\n    </md-input-container>\n\n    <md-input-container ng-if="settings.forwardTranscript" class="md-block" style="margin: 0px; padding: 0px 0px 10px 0px;" md-no-float>\n      <span ng-if="settings.forwardTranscriptMessage" style="padding: 5px 0px 5px 0px;">{{settings.forwardTranscriptMessage}}</span>\n      <span ng-if="!settings.forwardTranscriptMessage" style="padding: 5px 0px 5px 0px;">Email</span>\n      \x3c!-- START email --\x3e\n      <input type="email" name="mailTranscript" ng-model="vm.form.mailTranscript" placeholder="email">\n      <div ng-messages="vm.userForm[\'mailTranscript\'].$error" ng-show="vm.userForm[\'mailTranscript\'].$touched" role="alert">\n        <div ng-message="email">\n            <span>Email must be a valid e-mail address</span>\n        </div>\n      </div>\n      \x3c!-- END email --\x3e\n    </md-input-container>\n\n    <div layout="row" layout-align="center center">\n      <md-button title="{{settings.closingMessageButton}}" class="md-raised" ng-if="settings.enableRating || settings.enableFeedback || settings.forwardTranscript" ng-click="vm.submit()" ng-disabled="vm.userForm.$invalid || loading" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n        {{settings.closingMessageButton}}\n      </md-button>\n      <md-button title="{{settings.skipMessageButton}}"class="md-raised" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}" ng-click="vm.skip()">\n        {{settings.skipMessageButton}}\n      </md-button>\n    </div>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/offline/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-online">\n\n  <div id="toaster"></div>\n\n  <form ng-if="vm.fields.length" name="vm.userForm" layout="column" ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <div ng-repeat="field in ::vm.fields | orderBy:\'index\'" layout="column">\n      <span>{{field.props.title + (field.config.required ? \'*\' : \'\')}}</span>\n\n      <span style="font-size: 13px; line-height: 14px; color: grey; padding: 5px 0px 5px 0px;">\n        <div ng-bind-html="field.props.helpText | embed:{linkTarget:\'_blank\'}"></div>\n      </span>\n\n      \x3c!-- CHAT ERROR --\x3e\n      <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n        <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n        <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n        <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n      </div>\n      \x3c!-- CHAT ERROR --\x3e\n\n      <md-input-container md-no-float ng-switch="field.type" style="margin: 0px; padding: 0px 0px 10px 0px;">\n        \x3c!-- START label --\x3e\n        <div ng-switch-when="label">\n          <md-content flex layout-padding layout="row" layout-align="center center">\n            <span>{{field.value}}</span>\n          </md-content>\n        </div>\n        \x3c!-- END label --\x3e\n\n        \x3c!-- START textinput --\x3e\n        <div ng-switch-when="input">\n          <input name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" type="{{field.config.type}}" ng-required="field.config.required">\n        </div>\n        \x3c!-- END textinput --\x3e\n\n        \x3c!-- START textarea --\x3e\n        <div ng-switch-when="textarea">\n          <textarea name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" md-maxlength="150" rows="3"></textarea>\n        </div>\n        \x3c!-- END textarea --\x3e\n\n        \x3c!-- START select --\x3e\n        <div ng-switch-when="chooseFromList">\n          <md-select name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" ng-required="field.config.required">\n            <md-option ng-repeat="option in ::field.options" ng-value="option.value">{{option.value}}</md-option>\n          </md-select>\n        </div>\n        \x3c!-- END select --\x3e\n\n        \x3c!-- START radio --\x3e\n        <div ng-switch-when="multipleChoices" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n          <md-radio-group name="{{field.props.title}}" ng-model="vm.form[field.props.title]" ng-required="field.config.required" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-radio-button ng-repeat="option in ::field.options" value="{{option.value}}" class="md-primary">{{option.value}}</md-radio-button>\n          </md-radio-group>\n        </div>\n        \x3c!-- END radio --\x3e\n\n        \x3c!-- START checkbox --\x3e\n        <div ng-switch-when="checkboxes">\n          <div layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-checkbox\n            md-no-ink\n            aria-label="{{field.props.title}}"\n            ng-repeat="option in ::field.options"\n            ng-checked="vm.exists(field.props.title, option.value)"\n            ng-disabled="!vm.exists(field.props.title, option.value) && field.config.maxSelections === vm.form[field.props.title].length"\n            ng-click="vm.toggle(field.props.title, option.value)"\n            flex>\n              {{option.value}}\n            </md-checkbox>\n          </div>\n        </div>\n        \x3c!-- END checkbox --\x3e\n\n        \x3c!-- START agreement --\x3e\n        <div ng-switch-when="agreement" layout="column">\n            <md-checkbox md-no-ink ng-model="vm.form[field.props.title]" aria-label="{{field.props.title}}" ng-required="field.config.required">\n              {{field.options[0].value}}\n            </md-checkbox>\n        </div>\n        \x3c!-- END agreement --\x3e\n\n        <div ng-messages="vm.userForm[field.props.title].$error" ng-show="vm.userForm[field.props.title].$touched" role="alert">\n            <div ng-message="required">\n                <span>Required Field</span>\n            </div>\n            <div ng-message="email">\n                <span>Wrong type field</span>\n            </div>\n        </div>\n      </md-input-container>\n    </div>\n\n    <md-button title="{{settings.offline_chat_button}}" ng-click="vm.submit()" class="md-raised" ng-disabled="vm.userForm.$invalid || vm.userForm.$pristine || loading" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n      {{settings.offline_chat_button}}\n    </md-button>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/online/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-online">\n  <form ng-if="vm.fields.length" name="vm.userForm" layout="column" ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <div ng-repeat="field in ::vm.fields | orderBy:\'index\'" layout="column">\n      <span>{{field.props.title + (field.config.required ? \'*\' : \'\')}}</span>\n\n      <span style="line-height: 14px; color: grey; padding: 5px 0px 5px 0px;">\n        <div ng-bind-html="field.props.helpText | embed:{linkTarget:\'_blank\'}"></div>\n      </span>\n\n      \x3c!-- CHAT ERROR --\x3e\n      <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n        <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n        <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n        <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n      </div>\n      \x3c!-- CHAT ERROR --\x3e\n\n      <md-input-container md-no-float ng-switch="field.type" style="margin: 0px; padding: 0px 0px 10px 0px;">\n        \x3c!-- START label --\x3e\n        <div ng-switch-when="label">\n          <md-content flex layout-padding layout="row" layout-align="center center">\n            <span>{{field.value}}</span>\n          </md-content>\n        </div>\n        \x3c!-- END label --\x3e\n\n        \x3c!-- START textinput --\x3e\n        <div ng-switch-when="input">\n          <input name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" type="{{field.config.type}}" ng-required="field.config.required">\n        </div>\n        \x3c!-- END textinput --\x3e\n\n        \x3c!-- START textarea --\x3e\n        <div ng-switch-when="textarea">\n          <textarea name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" md-maxlength="150" rows="3"></textarea>\n        </div>\n        \x3c!-- END textarea --\x3e\n\n        \x3c!-- START select --\x3e\n        <div ng-switch-when="chooseFromList">\n          <md-select name="{{field.props.title}}" ng-model="vm.form[field.props.title]" placeholder="{{field.config.placeholder}}" ng-required="field.config.required">\n            <md-option ng-repeat="option in ::field.options" ng-value="option.value">{{option.value}}</md-option>\n          </md-select>\n        </div>\n        \x3c!-- END select --\x3e\n\n        \x3c!-- START radio --\x3e\n        <div ng-switch-when="multipleChoices">\n          <md-radio-group md-no-ink name="{{field.props.title}}" ng-model="vm.form[field.props.title]" ng-required="field.config.required" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-radio-button ng-repeat="option in ::field.options" ng-value="option.value" class="md-primary">{{option.value}}</md-radio-button>\n          </md-radio-group>\n        </div>\n        \x3c!-- END radio --\x3e\n\n        \x3c!-- START checkbox --\x3e\n        <div ng-switch-when="checkboxes" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-checkbox\n            md-no-ink\n            aria-label="{{field.props.title}}"\n            ng-repeat="option in ::field.options"\n            ng-checked="vm.exists(field.props.title, option.value)"\n            ng-disabled="!vm.exists(field.props.title, option.value) && field.config.maxSelections === vm.form[field.props.title].length"\n            ng-required="vm.getSelected()"\n            ng-click="vm.toggle(field.props.title, option.value)">\n              {{option.value}}\n            </md-checkbox>\n        </div>\n        \x3c!-- END checkbox --\x3e\n\n        \x3c!-- START agreement --\x3e\n        <div ng-switch-when="agreement" layout="{{field.config.direction === \'vertical\' ? \'row\' : \'column\'}}">\n            <md-checkbox md-no-ink ng-model="vm.form[field.props.title]" aria-label="{{field.props.title}}" ng-required="field.config.required">\n              {{field.options[0].value}}\n            </md-checkbox>\n        </div>\n        \x3c!-- END agreement --\x3e\n\n        <div ng-messages="vm.userForm[field.props.title].$error" ng-show="vm.userForm[field.props.title].$touched" role="alert">\n            <div ng-message="required">\n                <span>Required Field</span>\n            </div>\n            <div ng-message="email">\n                <span>Wrong type field</span>\n            </div>\n        </div>\n      </md-input-container>\n    </div>\n    <md-button title="{{settings.start_chat_button}}" class="md-raised" ng-click="vm.submit()" ng-disabled="vm.userForm.$invalid || vm.userForm.$pristine || vm.disableItem" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n      {{settings.start_chat_button}}\n    </md-button>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/unmanaged/index.html", '\x3c!-- CHAT CONTENT --\x3e\n<md-content class="chat-unmanaged">\n  \x3c!-- CHAT ERROR --\x3e\n  <div class="chat-error" ng-repeat="error in vm.errors" layout="row" layout-margin>\n    <i class="mdi mdi-alert mdi-24px mdi-light"></i>\n    <md-tooltip md-direction="top">{{error.message || \'Service temporarily unavailable.\'}}</md-tooltip>\n    <span class="chat-error-message">{{error.message || \'Service temporarily unavailable.\'}}</span>\n  </div>\n  \x3c!-- CHAT ERROR --\x3e\n\n  <md-content layout="row" layout-margin>\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{ settings.unmanagedMessage }}</span>\n  </md-content>\n\n  <form name="vm.userForm" layout="column" layout-margin ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}" novalidate>\n    <span>{{ settings.noteTitle || \'Note\' }}</span>\n\n    <md-input-container ng-if="settings.enableUnmanagedNote" class="md-block" style="margin: 0px; padding: 0px 0px 10px 0px;" md-no-float>\n      \x3c!-- START textarea --\x3e\n      <textarea name="note" ng-model="vm.form.note" md-maxlength="150" rows="3"></textarea>\n      \x3c!-- END textarea --\x3e\n    </md-input-container>\n\n    <div layout="row" layout-align="center center">\n      <md-button title="{{settings.sendUnmanaged}}" ng-if="settings.enableUnmanagedNote" ng-click="vm.submit()" class="md-raised" ng-disabled="vm.userForm.$invalid || loading" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}">\n        {{settings.sendUnmanaged}}\n      </md-button>\n      <md-button title="{{settings.skipUnmanaged}}" class="md-raised" ng-style="{\'background-color\': \'{{settings.color_button}}\', \'color\': \'{{settings.textColor}}\'}" ng-click="vm.skip()">\n        {{settings.skipUnmanaged}}\n      </md-button>\n    </div>\n  </form>\n\n  <md-content layout="row" layout-align="center end">\n' + "    <span ng-style=\"{'font-size': '{{settings.fontSize}}px'}\">{{ (settings.custom && !settings.defaultWhiteLabel) ? settings.whiteLabel : 'Powered By XCALLY' }}</span>\n  </md-content>\n</md-content>\n\x3c!-- / CHAT CONTENT --\x3e\n"), e.put("app/waiting/index.html", '\x3c!-- WAITING CONTENT --\x3e\n<md-content id="waiting" layout="column" layout-align="center center">\n  <div layout="row" layout-align="center center" class="sk-fading-circle" flex="10">\n    <div class="sk-circle1 sk-circle"></div>\n    <div class="sk-circle2 sk-circle"></div>\n    <div class="sk-circle3 sk-circle"></div>\n    <div class="sk-circle4 sk-circle"></div>\n    <div class="sk-circle5 sk-circle"></div>\n    <div class="sk-circle6 sk-circle"></div>\n    <div class="sk-circle7 sk-circle"></div>\n    <div class="sk-circle8 sk-circle"></div>\n    <div class="sk-circle9 sk-circle"></div>\n    <div class="sk-circle10 sk-circle"></div>\n    <div class="sk-circle11 sk-circle"></div>\n    <div class="sk-circle12 sk-circle"></div>\n  </div>\n  <div layout="row" layout-align="center end" flex>\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{settings.waitingTitle}}</span>\n  </div>\n  <div layout="row" layout-align="center start" class="subtitle" flex>\n    <span ng-style="{\'font-size\': \'{{settings.fontSize}}px\'}">{{settings.waitingMessage}}</span>\n  </div>\n</md-content>\n\x3c!-- / WAITING CONTENT --\x3e\n')
 }]);
\ No newline at end of file
diff --git a/snippet/1.0.14/scripts/vendor.js b/snippet/1.0.14/scripts/vendor.js
index 6fe7582..3c070ec 100644
--- a/snippet/1.0.14/scripts/vendor.js
+++ b/snippet/1.0.14/scripts/vendor.js
@@ -16,7 +16,7 @@
 
     function M(a, s) {
         s = s || Error;
-        var l = "https://errors.angularjs.org/1.7.8/",
+        var l = "https://errors.angularjs.org/1.7.9/",
             e = l.replace(".", "\\.") + "[\\s\\S]*",
             c = new RegExp(e, "g");
         return function() {
@@ -103,7 +103,7 @@
                 for (var s = Object.keys(a), l = 0, c = s.length; l < c; l++) {
                     var u = s[l],
                         d = a[u];
-                    n && Ee(d) ? C(d) ? e[u] = new Date(d.valueOf()) : k(d) ? e[u] = new RegExp(d) : d.nodeName ? e[u] = d.cloneNode(!0) : P(d) ? e[u] = d.clone() : (Ee(e[u]) || (e[u] = ke(d) ? [] : {}), g(e[u], [d], !0)) : e[u] = d
+                    n && Ee(d) ? C(d) ? e[u] = new Date(d.valueOf()) : k(d) ? e[u] = new RegExp(d) : d.nodeName ? e[u] = d.cloneNode(!0) : P(d) ? e[u] = d.clone() : "__proto__" !== u && (Ee(e[u]) || (e[u] = ke(d) ? [] : {}), g(e[u], [d], !0)) : e[u] = d
                 }
         }
         return m(e, r), e
@@ -601,11 +601,11 @@
         var n, r, i
     }
     var Ge = {
-        full: "1.7.8",
+        full: "1.7.9",
         major: 1,
         minor: 7,
-        dot: 8,
-        codeName: "enthusiastic-oblation"
+        dot: 9,
+        codeName: "pollution-eradication"
     };
     ft.expando = "ng339";
     var Ke = ft.cache = {},
@@ -7552,11 +7552,11 @@
                 }
             }
         }],
-        wa = Vi(function(e, t, n) {
-            e.$watchCollection(n.ngStyle, function(n, e) {
-                e && n !== e && (n || (n = {}), ve(e, function(e, t) {
-                    null == n[t] && (n[t] = "")
-                })), n && t.css(n)
+        wa = Vi(function(e, n, t) {
+            e.$watchCollection(t.ngStyle, function(e, t) {
+                t && e !== t && ve(t, function(e, t) {
+                    n.css(t, "")
+                }), e && n.css(e)
             })
         }),
         Ea = ["$animate", "$compile", function(u, d) {
@@ -8134,7 +8134,7 @@
             $$cookieReader: gi
         })
     }]).info({
-        angularVersion: "1.7.8"
+        angularVersion: "1.7.9"
     }), y.module("ngLocale", [], ["$provide", function(e) {
         var i = "one",
             o = "other";
@@ -9385,19 +9385,15 @@
                         e = P.$q,
                         i = t.findNode(this),
                         o = i && i.state,
-                        a = "RXWAIT" === this.getPolicy(o).async ? function(e) {
-                            var t = e.cache(1);
-                            return t.take(1).toPromise().then(function() {
-                                return t
-                            })
-                        } : B;
+                        a = this.getPolicy(o).async,
+                        s = x(a) ? a : B;
                     return this.promise = e.when().then(function() {
                         return e.all(t.getDependencies(r).map(function(e) {
                             return e.get(t, n)
                         }))
                     }).then(function(e) {
                         return r.resolveFn.apply(null, e)
-                    }).then(a).then(function(e) {
+                    }).then(s).then(function(e) {
                         return r.data = e, r.resolved = !0, r.resolveFn = null, ct.traceResolvableResolved(r, n), r.data
                     })
                 }, a.prototype.get = function(e, t) {
@@ -10400,7 +10396,7 @@
                     return this.pattern
                 }, g.prototype.exec = function(e, r, t, n) {
                     var i = this;
-                    void 0 === r && (r = {}), void 0 === n && (n = {});
+                    void 0 === r && (r = {});
                     var o, a, s, l = (o = this._cache, a = "pattern", s = function() {
                         return new RegExp(["^", be(i._cache.path.map(y("_compiled"))).join(""), !1 === i.config.strict ? "/?" : "", "$"].join(""), i.config.caseInsensitive ? "i" : void 0)
                     }, o[a] = o[a] || s()).exec(e);
@@ -12199,7 +12195,7 @@
 
         function Lr(t, e, n) {
             if (P.$injector = t, P.$q = e, !t.hasOwnProperty("strictDi")) try {
-                t.invoke(function(e) {})
+                t.invoke(["checkStrictDi", function(e) {}])
             } catch (e) {
                 t.strictDi = !!/strict mode/.exec(e && e.toString())
             }
@@ -12602,7 +12598,7 @@
             ni = 0;
 
         function ri(r, e, c, t, n) {
-            !x(c.$onInit) || n.viewDecl.component && ti || c.$onInit();
+            !x(c.$onInit) || (n.viewDecl.component || n.viewDecl.componentProvider) && ti || c.$onInit();
             var u = xe(n.path).state.self,
                 i = {
                     bind: c
@@ -12663,7 +12659,7 @@
                 }
             }]
         });
-        m.default = "ui.router", m.core = br, m.watchDigests = Fr, m.getLocals = zr, m.getNg1ViewConfigFactory = yr, m.ng1ViewsBuilder = $r, m.Ng1ViewConfig = Er, m.StateProvider = Tr, m.UrlRouterProvider = Sr, m.root = H, m.fromJson = L, m.toJson = F, m.forEach = q, m.extend = U, m.equals = V, m.identity = B, m.noop = z, m.createProxyFunctions = W, m.inherit = Y, m.inArray = G, m._inArray = K, m.removeFrom = Z, m._removeFrom = X, m.pushTo = Q, m._pushTo = J, m.deregAll = ee, m.defaults = te, m.mergeR = ne, m.ancestors = re, m.pick = ie, m.omit = oe, m.pluck = ae, m.filter = se, m.find = le, m.mapObj = ce, m.map = ue, m.values = de, m.allTrueR = fe, m.anyTrueR = he, m.unnestR = pe, m.flattenR = me, m.pushR = ge, m.uniqR = ve, m.unnest = be, m.flatten = ye, m.assertPredicate = _e, m.assertMap = $e, m.assertFn = we, m.pairs = Ee, m.arrayTuples = Ce, m.applyPairs = ke, m.tail = xe, m.copy = Te, m._extend = Me, m.silenceUncaughtInPromise = De, m.silentRejection = Oe, m.makeStub = R, m.services = P, m.Glob = Ne, m.curry = c, m.compose = n, m.pipe = l, m.prop = y, m.propEq = v, m.parse = C, m.not = d, m.and = r, m.or = i, m.all = u, m.any = f, m.is = h, m.eq = o, m.val = p, m.invoke = a, m.pattern = g, m.isUndefined = _, m.isDefined = k, m.isNull = $, m.isNullOrUndefined = w, m.isFunction = x, m.isNumber = T, m.isString = M, m.isObject = A, m.isArray = S, m.isDate = D, m.isRegExp = O, m.isInjectable = N, m.isPromise = I, m.Queue = Ie, m.maxLength = He, m.padString = je, m.kebobString = Le, m.functionToString = Fe, m.fnToString = qe, m.stringify = Be, m.beforeAfterSubstr = ze, m.hostRegex = We, m.stripLastPathElement = Ye, m.splitHash = Ge, m.splitQuery = Ke, m.splitEqual = Ze, m.trimHashVal = Xe, m.splitOnDelim = Qe, m.joinNeighborsR = Je, m.Trace = lt, m.trace = ct, m.Param = vt, m.ParamTypes = bt, m.StateParams = yt, m.ParamType = ut, m.PathNode = _t, m.PathUtils = wt, m.resolvePolicies = Et, m.defaultResolvePolicy = Ct, m.Resolvable = kt, m.NATIVE_INJECTOR_TOKEN = At, m.ResolveContext = St, m.resolvablesBuilder = jt, m.StateBuilder = qt, m.StateObject = Ut, m.StateMatcher = Vt, m.StateQueueManager = Bt, m.StateRegistry = zt, m.StateService = Bn, m.TargetState = $t, m.HookBuilder = Xt, m.matchState = Gt, m.RegisteredHook = Kt, m.makeEvent = Zt, m.Rejection = Pe, m.Transition = Jt, m.TransitionHook = Yt, m.TransitionEventType = Ln, m.defaultTransOpts = Un, m.TransitionService = Vn, m.UrlRules = mn, m.UrlConfig = gn, m.UrlMatcher = rn, m.ParamFactory = an, m.UrlMatcherFactory = sn, m.UrlRouter = dn, m.UrlRuleFactory = ln, m.BaseUrlRule = cn, m.UrlService = vn, m.ViewService = fn, m.UIRouterGlobals = hn, m.UIRouter = $n, m.$q = zn, m.$injector = Kn, m.BaseLocationServices = ir, m.HashLocationService = ar, m.MemoryLocationService = lr, m.PushStateLocationService = ur, m.MemoryLocationConfig = dr, m.BrowserLocationConfig = fr, m.keyValsToObjectR = Zn, m.getParams = Xn, m.parseUrl = Qn, m.buildUrl = Jn, m.locationPluginFactory = er, m.servicesPlugin = hr, m.hashLocationPlugin = pr, m.pushStateLocationPlugin = mr, m.memoryLocationPlugin = gr, m.UIRouterPluginBase = vr, Object.defineProperty(m, "__esModule", {
+        m.$injector = Kn, m.$q = zn, m.BaseLocationServices = ir, m.BaseUrlRule = cn, m.BrowserLocationConfig = fr, m.Glob = Ne, m.HashLocationService = ar, m.HookBuilder = Xt, m.MemoryLocationConfig = dr, m.MemoryLocationService = lr, m.NATIVE_INJECTOR_TOKEN = At, m.Ng1ViewConfig = Er, m.Param = vt, m.ParamFactory = an, m.ParamType = ut, m.ParamTypes = bt, m.PathNode = _t, m.PathUtils = wt, m.PushStateLocationService = ur, m.Queue = Ie, m.RegisteredHook = Kt, m.Rejection = Pe, m.Resolvable = kt, m.ResolveContext = St, m.StateBuilder = qt, m.StateMatcher = Vt, m.StateObject = Ut, m.StateParams = yt, m.StateProvider = Tr, m.StateQueueManager = Bt, m.StateRegistry = zt, m.StateService = Bn, m.TargetState = $t, m.Trace = lt, m.Transition = Jt, m.TransitionEventType = Ln, m.TransitionHook = Yt, m.TransitionService = Vn, m.UIRouter = $n, m.UIRouterGlobals = hn, m.UIRouterPluginBase = vr, m.UrlConfig = gn, m.UrlMatcher = rn, m.UrlMatcherFactory = sn, m.UrlRouter = dn, m.UrlRouterProvider = Sr, m.UrlRuleFactory = ln, m.UrlRules = mn, m.UrlService = vn, m.ViewService = fn, m._extend = Me, m._inArray = K, m._pushTo = J, m._removeFrom = X, m.all = u, m.allTrueR = fe, m.ancestors = re, m.and = r, m.any = f, m.anyTrueR = he, m.applyPairs = ke, m.arrayTuples = Ce, m.assertFn = we, m.assertMap = $e, m.assertPredicate = _e, m.beforeAfterSubstr = ze, m.buildUrl = Jn, m.compose = n, m.copy = Te, m.core = br, m.createProxyFunctions = W, m.curry = c, m.default = "ui.router", m.defaultResolvePolicy = Ct, m.defaultTransOpts = Un, m.defaults = te, m.deregAll = ee, m.eq = o, m.equals = V, m.extend = U, m.filter = se, m.find = le, m.flatten = ye, m.flattenR = me, m.fnToString = qe, m.forEach = q, m.fromJson = L, m.functionToString = Fe, m.getLocals = zr, m.getNg1ViewConfigFactory = yr, m.getParams = Xn, m.hashLocationPlugin = pr, m.hostRegex = We, m.identity = B, m.inArray = G, m.inherit = Y, m.invoke = a, m.is = h, m.isArray = S, m.isDate = D, m.isDefined = k, m.isFunction = x, m.isInjectable = N, m.isNull = $, m.isNullOrUndefined = w, m.isNumber = T, m.isObject = A, m.isPromise = I, m.isRegExp = O, m.isString = M, m.isUndefined = _, m.joinNeighborsR = Je, m.kebobString = Le, m.keyValsToObjectR = Zn, m.locationPluginFactory = er, m.makeEvent = Zt, m.makeStub = R, m.map = ue, m.mapObj = ce, m.matchState = Gt, m.maxLength = He, m.memoryLocationPlugin = gr, m.mergeR = ne, m.ng1ViewsBuilder = $r, m.noop = z, m.not = d, m.omit = oe, m.or = i, m.padString = je, m.pairs = Ee, m.parse = C, m.parseUrl = Qn, m.pattern = g, m.pick = ie, m.pipe = l, m.pluck = ae, m.prop = y, m.propEq = v, m.pushR = ge, m.pushStateLocationPlugin = mr, m.pushTo = Q, m.removeFrom = Z, m.resolvablesBuilder = jt, m.resolvePolicies = Et, m.root = H, m.services = P, m.servicesPlugin = hr, m.silenceUncaughtInPromise = De, m.silentRejection = Oe, m.splitEqual = Ze, m.splitHash = Ge, m.splitOnDelim = Qe, m.splitQuery = Ke, m.stringify = Be, m.stripLastPathElement = Ye, m.tail = xe, m.toJson = F, m.trace = ct, m.trimHashVal = Xe, m.uniqR = ve, m.unnest = be, m.unnestR = pe, m.val = p, m.values = de, m.watchDigests = Fr, Object.defineProperty(m, "__esModule", {
             value: !0
         })
     }),
@@ -16551,7 +16547,7 @@
             return n
         }
         s.module("ngResource", ["ng"]).info({
-            angularVersion: "1.7.8"
+            angularVersion: "1.7.9"
         }).provider("$resource", function() {
             var f = /^https?:\/\/\[[^\]]*][^/]*/,
                 a = this;
@@ -22277,7 +22273,7 @@
                 return n
             }
         }).info({
-            angularVersion: "1.7.8"
+            angularVersion: "1.7.9"
         }), k.module("ngSanitize").filter("linky", ["$sanitize", function(d) {
             var f = /((s?ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,
                 h = /^mailto:/i,
@@ -23983,7 +23979,7 @@
         e.module("ngAnimate", [], function() {
             Ie = e.noop, Me = e.copy, m = e.extend, Ne = e.element, Ae = e.forEach, Se = e.isArray, De = e.isString, ne = e.isObject, Oe = e.isUndefined, te = e.isDefined, $ = e.isFunction, g = e.isElement
         }).info({
-            angularVersion: "1.7.8"
+            angularVersion: "1.7.9"
         }).directive("ngAnimateSwap", ["$animate", function(s) {
             return {
                 restrict: "A",
@@ -24060,7 +24056,7 @@
         "use strict";
         var h = "ngAriaDisable",
             n = t.module("ngAria", ["ng"]).info({
-                angularVersion: "1.7.8"
+                angularVersion: "1.7.9"
             }).provider("$aria", function() {
                 var l = {
                     ariaHidden: !0,
@@ -24257,7 +24253,7 @@
         t.module("ngMessages", [], function() {
             w = t.forEach, p = t.isArray, l = t.isString, c = t.element
         }).info({
-            angularVersion: "1.7.8"
+            angularVersion: "1.7.9"
         }).directive("ngMessages", ["$animate", function(b) {
             var y = "ng-inactive";
             return {
@@ -24363,9 +24359,9 @@
             }
         }]).directive("ngMessage", n()).directive("ngMessageExp", n()).directive("ngMessageDefault", n(!0))
     }(window, window.angular),
-    function(F, ue, de) {
+    function(F, de, fe) {
         "use strict";
             function() {
                 function e(e, t) {
                     if (t.has("$swipe")) {
@@ -24391,7 +24387,7 @@
                 function r(e) {
                     return e.resolve || (e.resolve = e.when), e
                 }
-                e.$inject = ["$log", "$injector"], t.$inject = ["$provide", "$mdThemingProvider"], n.$inject = ["$delegate"], r.$inject = ["$delegate"], ue.module("material.core", ["ngAnimate", "material.core.animate", "material.core.layout", "material.core.interaction", "material.core.gestures", "material.core.theming"]).config(t).run(e)
+                e.$inject = ["$log", "$injector"], t.$inject = ["$provide", "$mdThemingProvider"], n.$inject = ["$delegate"], r.$inject = ["$delegate"], de.module("material.core", ["ngAnimate", "material.core.animate", "material.core.layout", "material.core.interaction", "material.core.gestures", "material.core.theming"]).config(t).run(e)
             }(),
             function() {
                 function e(o) {
@@ -24403,14 +24399,14 @@
                                 i(o(r)(e)), r && e.$watch(r, i);
 
                                 function i(e) {
-                                    ue.isUndefined(e) && (e = !0), t.toggleClass("md-autofocus", !!e)
+                                    de.isUndefined(e) && (e = !0), t.toggleClass("md-autofocus", !!e)
                                 }
                             }
                         }
                     }
                 }
-                e.$inject = ["$parse"], ue.module("material.core").directive("mdAutofocus", e).directive("mdAutoFocus", e).directive("mdSidenavFocus", e)
-            }(), ue.module("material.core").factory("$mdColorUtil", function() {
+                e.$inject = ["$parse"], de.module("material.core").directive("mdAutofocus", e).directive("mdAutoFocus", e).directive("mdSidenavFocus", e)
+            }(), de.module("material.core").factory("$mdColorUtil", function() {
                 return {
                     rgbaToHex: function(e) {
                         return ((e = e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i)) && 4 === e.length ? "#" + ("0" + parseInt(e[1], 10).toString(16)).slice(-2) + ("0" + parseInt(e[2], 10).toString(16)).slice(-2) + ("0" + parseInt(e[3], 10).toString(16)).slice(-2) : "").toUpperCase()
@@ -24430,7 +24426,7 @@
                         return e ? e.replace("rgba", "rgb").replace(/,[^),]+\)/, ")") : "rgb(0,0,0)"
                     }
                 }
-            }), ue.module("material.core").factory("$mdConstant", function() {
+            }), de.module("material.core").factory("$mdConstant", function() {
                 var i = document.createElement("div"),
                     o = function(e) {
                         var t, n, r = /^(Moz|webkit|ms)(?=[A-Z])/;
@@ -24450,7 +24446,7 @@
                 }
 
                 function s(e, t) {
-                    return ue.isDefined(e.style[t])
+                    return de.isDefined(e.style[t])
                 }
                 var r = {
                     isInputKey: function(e) {
@@ -24529,7 +24525,7 @@
                     var l = function() {
                         return !0
                     };
-                    e && !ue.isArray(e) && (e = Array.prototype.slice.call(e)), s = !!s;
+                    e && !de.isArray(e) && (e = Array.prototype.slice.call(e)), s = !!s;
                     var c = e || [];
                     return {
                         items: function() {
@@ -24551,7 +24547,7 @@
                         },
                         add: function(e, t) {
                             if (!e) return -1;
-                            ue.isNumber(t) || (t = c.length);
+                            de.isNumber(t) || (t = c.length);
                             return c.splice(t, 0, e), d(e)
                         },
                         remove: function(e) {
@@ -24559,8 +24555,8 @@
                         },
                         first: f,
                         last: h,
-                        next: ue.bind(null, n, !1),
-                        previous: ue.bind(null, n, !0),
+                        next: de.bind(null, n, !1),
+                        previous: de.bind(null, n, !0),
                         hasPrevious: function(e) {
                             return !!e && u(d(e) - 1)
                         },
@@ -24597,11 +24593,11 @@
                                 a = null;
                             if (u(o) ? a = c[o] : s && (o = d(a = e ? h() : f())), null === a || o === r) return null;
                             if (n(a)) return a;
-                            ue.isUndefined(r) && (r = o), i = o
+                            de.isUndefined(r) && (r = o), i = o
                         }
                     }
                 }
-                ue.module("material.core").config(["$provide", function(e) {
+                de.module("material.core").config(["$provide", function(e) {
                     e.decorator("$mdUtil", ["$delegate", function(e) {
                         return e.iterator = t, e
                     }])
@@ -24628,7 +24624,7 @@
                         var o = [];
                         return e.forEach(function(e) {
                                 var t = u(r, e);
-                                for (var n in ue.isDefined(r[t]) && o.push(r.$observe(t, ue.bind(void 0, i, null))), a.MEDIA) t = u(r, e + "-" + n), ue.isDefined(r[t]) && o.push(r.$observe(t, ue.bind(void 0, i, n)))
+                                for (var n in de.isDefined(r[t]) && o.push(r.$observe(t, de.bind(void 0, i, null))), a.MEDIA) t = u(r, e + "-" + n), de.isDefined(r[t]) && o.push(r.$observe(t, de.bind(void 0, i, n)))
                             }),
                             function() {
                                 o.forEach(function(e) {
@@ -24639,9 +24635,9 @@
 
                     function e(e) {
                         var t, n = o[e];
-                        ue.isUndefined(n) && (n = o[e] = (t = e, a.MEDIA[t] || ("(" !== t.charAt(0) ? "(" + t + ")" : t)));
+                        de.isUndefined(n) && (n = o[e] = (t = e, a.MEDIA[t] || ("(" !== t.charAt(0) ? "(" + t + ")" : t)));
                         var r = l[n];
-                        return ue.isUndefined(r) && (r = function(e) {
+                        return de.isUndefined(r) && (r = function(e) {
                             var t = s[e];
                             t || (t = s[e] = i.matchMedia(e));
                             return t.addListener(c), l[t.media] = !!t.matches
@@ -24658,7 +24654,7 @@
                         return n[t] || (n[t] = e.$normalize(t))
                     }
                 }
-                e.$inject = ["$mdConstant", "$rootScope", "$window"], ue.module("material.core").factory("$mdMedia", e)
+                e.$inject = ["$mdConstant", "$rootScope", "$window"], de.module("material.core").factory("$mdMedia", e)
             }(),
             function() {
                 function t(e, t) {
@@ -24681,7 +24677,7 @@
                     };
 
                     function i(n) {
-                        return (n = ue.isArray(n) ? n : [n]).forEach(function(t) {
+                        return (n = de.isArray(n) ? n : [n]).forEach(function(t) {
                             r.forEach(function(e) {
                                 n.push(e + "-" + t)
                             })
@@ -24689,7 +24685,7 @@
                     }
 
                     function n(e) {
-                        return i(e = ue.isArray(e) ? e : [e]).map(function(e) {
+                        return i(e = de.isArray(e) ? e : [e]).map(function(e) {
                             return "[" + e + "]"
                         }).join(",")
                     }
@@ -24698,7 +24694,7 @@
                         if ((e = e[0] || e).nodeType) return e
                     }
                 }
-                ue.module("material.core").config(["$provide", function(e) {
+                de.module("material.core").config(["$provide", function(e) {
                     e.decorator("$mdUtil", ["$delegate", function(e) {
                         return e.prefixer = t, e
                     }])
@@ -24711,22 +24707,25 @@
                 function e(l, s, n, a, e, t, o, r, c, d) {
                     var i = t.startSymbol(),
                         u = t.endSymbol(),
-                        f = "{{" === i && "}}" === u,
-                        h = function(e, t, n) {
-                            var r = !1;
-                            if (e && e.length) {
-                                var i = c.getComputedStyle(e[0]);
-                                r = ue.isDefined(i[t]) && (!n || i[t] == n)
-                            }
-                            return r
-                        };
+                        f = "{{" === i && "}}" === u;
+                    document.contains || (document.contains = function(e) {
+                        return document.body.contains(e)
+                    });
+                    var h = function(e, t, n) {
+                        var r = !1;
+                        if (e && e.length) {
+                            var i = c.getComputedStyle(e[0]);
+                            r = de.isDefined(i[t]) && (!n || i[t] == n)
+                        }
+                        return r
+                    };
 
                     function p(e) {
                         return e ? -1 < String(e).indexOf("px") || -1 < String(e).indexOf("%") ? e : e + "px" : "0"
                     }
                     var m = {
                         dom: {},
-                        now: F.performance && F.performance.now ? ue.bind(F.performance, F.performance.now) : Date.now || function() {
+                        now: F.performance && F.performance.now ? de.bind(F.performance, F.performance.now) : Date.now || function() {
                             return (new Date).getTime()
                         },
                         getModelOption: function(e, t) {
@@ -24735,16 +24734,25 @@
                                 return n.getOption ? n.getOption(t) : n[t]
                             }
                         },
+                        isRtl: function(e) {
+                            switch (de.isDefined(e) && e.hasOwnProperty("dir") && e.dir) {
+                                case "ltr":
+                                    return !1;
+                                case "rtl":
+                                    return !0
+                            }
+                            return "rtl" === l[0].dir || "rtl" === l[0].body.dir
+                        },
                         bidi: function(e, t, n, r) {
-                            var i = !("rtl" == l[0].dir || "rtl" == l[0].body.dir);
+                            var i = !this.isRtl();
                             if (0 == arguments.length) return i ? "ltr" : "rtl";
-                            var o = ue.element(e);
-                            i && ue.isDefined(n) ? o.css(t, p(n)) : !i && ue.isDefined(r) && o.css(t, p(r))
+                            var o = de.element(e);
+                            i && de.isDefined(n) ? o.css(t, p(n)) : !i && de.isDefined(r) && o.css(t, p(r))
                         },
                         bidiProperty: function(e, t, n, r) {
-                            var i = !("rtl" == l[0].dir || "rtl" == l[0].body.dir),
-                                o = ue.element(e);
-                            i && ue.isDefined(t) ? (o.css(t, p(r)), o.css(n, "")) : !i && ue.isDefined(n) && (o.css(n, p(r)), o.css(t, ""))
+                            var i = !this.isRtl(),
+                                o = de.element(e);
+                            i && de.isDefined(t) ? (o.css(t, p(r)), o.css(n, "")) : !i && de.isDefined(n) && (o.css(n, p(r)), o.css(t, ""))
                         },
                         clientRect: function(e, t, n) {
                             var r = g(e);
@@ -24780,15 +24788,15 @@
 
                             function i(e, t) {
                                 var n, r = e[0].querySelectorAll(t);
-                                return r && r.length && r.length && ue.forEach(r, function(e) {
-                                    (e = ue.element(e)).hasClass("md-autofocus") && (n = e)
+                                return r && r.length && r.length && de.forEach(r, function(e) {
+                                    (e = de.element(e)).hasClass("md-autofocus") && (n = e)
                                 }), n
                             }
                         },
-                        disableScrollAround: function(e, t, r) {
-                            if (r = r || {}, m.disableScrollAround._count = Math.max(0, m.disableScrollAround._count || 0), m.disableScrollAround._count++, m.disableScrollAround._restoreScroll) return m.disableScrollAround._restoreScroll;
+                        disableScrollAround: function(e, t, n) {
+                            if (n = n || {}, m.disableScrollAround._count = Math.max(0, m.disableScrollAround._count || 0), m.disableScrollAround._count++, m.disableScrollAround._restoreScroll) return m.disableScrollAround._restoreScroll;
                             var s = l[0].body,
-                                n = function() {
+                                r = function() {
                                     var e = l[0].documentElement,
                                         t = e.style.cssText || "",
                                         n = s.style.cssText || "",
@@ -24797,7 +24805,7 @@
                                     var i = s.clientWidth,
                                         o = s.scrollHeight > s.clientHeight + 1,
                                         a = 0 < e.scrollTop ? e : s;
-                                    o && ue.element(s).css({
+                                    o && de.element(s).css({
                                         position: "fixed",
                                         width: "100%",
                                         top: -r + "px"
@@ -24807,20 +24815,20 @@
                                         s.style.cssText = n, e.style.cssText = t, a.scrollTop = r
                                     }
                                 }(),
-                                i = function(e) {
-                                    var t;
-                                    e = ue.element(e || s), r.disableScrollMask ? t = e : (t = ue.element('<div class="md-scroll-mask">  <div class="md-scroll-mask-bar"></div></div>'), e.append(t));
-                                    return t.on("wheel", n), t.on("touchmove", n),
-                                        function() {
-                                            t.off("wheel"), t.off("touchmove"), !r.disableScrollMask && t[0].parentNode && t[0].parentNode.removeChild(t[0])
-                                        };
+                                i = function(e, t) {
+                                    var n, r = de.element(e || s);
+                                    t.disableScrollMask ? n = r : (n = de.element('<div class="md-scroll-mask">  <div class="md-scroll-mask-bar"></div></div>'), r.append(n));
 
-                                    function n(e) {
+                                    function i(e) {
                                         e.preventDefault()
                                     }
-                                }(t);
+                                    return n.on("wheel", i), n.on("touchmove", i),
+                                        function() {
+                                            n.off("wheel"), n.off("touchmove"), !t.disableScrollMask && n[0].parentNode && n[0].parentNode.removeChild(n[0])
+                                        }
+                                }(t, n);
                             return m.disableScrollAround._restoreScroll = function() {
-                                --m.disableScrollAround._count <= 0 && (delete m.disableScrollAround._viewPortTop, n(), i(), delete m.disableScrollAround._restoreScroll)
+                                --m.disableScrollAround._count <= 0 && (delete m.disableScrollAround._viewPortTop, r(), i(), delete m.disableScrollAround._restoreScroll)
                             }
                         },
                         enableScrolling: function() {
@@ -24828,8 +24836,8 @@
                             e && e()
                         },
                         floatingScrollbars: function() {
-                            if (this.floatingScrollbars.cached === de) {
-                                var e = ue.element("<div><div></div></div>").css({
+                            if (this.floatingScrollbars.cached === fe) {
+                                var e = de.element("<div><div></div></div>").css({
                                     width: "100%",
                                     "z-index": -1,
                                     position: "absolute",
@@ -24866,7 +24874,7 @@
                         fakeNgModel: function() {
                             return {
                                 $fake: !0,
-                                $setTouched: ue.noop,
+                                $setTouched: de.noop,
                                 $setViewValue: function(e) {
                                     this.$viewValue = e, this.$render(e), this.$viewChangeListeners.forEach(function(e) {
                                         e()
@@ -24878,7 +24886,7 @@
                                 $parsers: [],
                                 $formatters: [],
                                 $viewChangeListeners: [],
-                                $render: ue.noop
+                                $render: de.noop
                             }
                         },
                         debounce: function(n, r, i, o) {
@@ -24887,7 +24895,7 @@
                                 var e = i,
                                     t = Array.prototype.slice.call(arguments);
                                 s.cancel(a), a = s(function() {
-                                    a = de, n.apply(e, t)
+                                    a = fe, n.apply(e, t)
                                 }, r || 10, o)
                             }
                         },
@@ -24930,26 +24938,26 @@
                             }
                         },
                         getClosest: function(e, t, n) {
-                            if (ue.isString(t)) {
+                            if (de.isString(t)) {
                                 var r = t.toUpperCase();
                                 t = function(e) {
                                     return e.nodeName.toUpperCase() === r
                                 }
                             }
-                            if (e instanceof ue.element && (e = e[0]), n && (e = e.parentNode), !e) return null;
+                            if (e instanceof de.element && (e = e[0]), n && (e = e.parentNode), !e) return null;
                             do {
                                 if (t(e)) return e
                             } while (e = e.parentNode);
                             return null
                         },
                         elementContains: function(t, n) {
-                            return (F.Node && F.Node.prototype && Node.prototype.contains ? ue.bind(t, t.contains) : ue.bind(t, function(e) {
+                            return (F.Node && F.Node.prototype && Node.prototype.contains ? de.bind(t, t.contains) : de.bind(t, function(e) {
                                 return t === n || !!(16 & this.compareDocumentPosition(e))
                             }))(n)
                         },
                         extractElementByName: function(e, r, t, n) {
                             var i = s(e);
-                            return !i && n && o.warn(m.supplant("Unable to find node '{0}' in element '{1}'.", [r, e[0].outerHTML])), ue.element(i || e);
+                            return !i && n && o.warn(m.supplant("Unable to find node '{0}' in element '{1}'.", [r, e[0].outerHTML])), de.element(i || e);
 
                             function s(e) {
                                 return function(e) {
@@ -24970,10 +24978,10 @@
                             }
                         },
                         initOptionalProperties: function(r, i, o) {
-                            o = o || {}, ue.forEach(r.$$isolateBindings, function(e, t) {
-                                if (e.optional && ue.isUndefined(r[t])) {
-                                    var n = ue.isDefined(i[e.attrName]);
-                                    r[t] = ue.isDefined(o[t]) ? o[t] : n
+                            o = o || {}, de.forEach(r.$$isolateBindings, function(e, t) {
+                                if (e.optional && de.isUndefined(r[t])) {
+                                    var n = de.isDefined(i[e.attrName]);
+                                    r[t] = de.isDefined(o[t]) ? o[t] : n
                                 }
                             })
                         },
@@ -24993,7 +25001,7 @@
                             }, 0, !1))
                         },
                         processTemplate: function(e) {
-                            return f ? e : e && ue.isString(e) ? e.replace(/\{\{/g, i).replace(/}}/g, u) : e
+                            return f ? e : e && de.isString(e) ? e.replace(/\{\{/g, i).replace(/}}/g, u) : e
                         },
                         getParentWithPointerEvents: function(e) {
                             for (var t = e.parent(); h(t, "pointer-events", "none");) t = t.parent();
@@ -25004,7 +25012,7 @@
                             return t
                         },
                         checkStickySupport: function() {
-                            var e, t = ue.element("<div>");
+                            var e, t = de.element("<div>");
                             l[0].body.appendChild(t[0]);
                             for (var n = ["sticky", "-webkit-sticky"], r = 0; r < n.length; ++r)
                                 if (t.css({
@@ -25022,7 +25030,7 @@
                         hasComputedStyle: h,
                         isParentFormSubmitted: function(e) {
                             var t = m.getClosest(e, "form"),
-                                n = t ? ue.element(t).controller("form") : null;
+                                n = t ? de.element(t).controller("form") : null;
                             return !!n && n.$submitted
                         },
                         animateScrollTo: function(i, o, a) {
@@ -25063,12 +25071,12 @@
                         return e[0] || e
                     }
                 }
-                ue.module("material.core").factory("$mdUtil", e), ue.element.prototype.focus = ue.element.prototype.focus || function() {
+                de.module("material.core").factory("$mdUtil", e), de.element.prototype.focus = de.element.prototype.focus || function() {
                     return this.length && this[0].focus(), this
-                }, ue.element.prototype.blur = ue.element.prototype.blur || function() {
+                }, de.element.prototype.blur = de.element.prototype.blur || function() {
                     return this.length && this[0].blur(), this
                 }
-            }(), ue.module("material.core").factory("$$mdAnimate", ["$q", "$timeout", "$mdConstant", "$animateCss", function(n, i, a, s) {
+            }(), de.module("material.core").factory("$$mdAnimate", ["$q", "$timeout", "$mdConstant", "$animateCss", function(n, i, a, s) {
                 return function(e) {
                     return r = e, t = n, l = i, c = a, o = s, u = {
                         translate3d: function(t, n, e, r) {
@@ -25127,17 +25135,17 @@
                             }
                         },
                         calculateZoomToOrigin: function(e, t) {
-                            var n = ue.bind(null, r.supplant, "translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )");
+                            var n = de.bind(null, r.supplant, "translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )");
                             return n(u.calculateTransformValues(e, t))
                         },
                         calculateSlideToOrigin: function(e, t) {
-                            var n = ue.bind(null, r.supplant, "translate3d( {centerX}px, {centerY}px, 0 )");
+                            var n = de.bind(null, r.supplant, "translate3d( {centerX}px, {centerY}px, 0 )");
                             return n(u.calculateTransformValues(e, t))
                         },
                         toCss: function(e) {
                             var r = {};
-                            return ue.forEach(e, function(e, t) {
-                                if (!ue.isUndefined(e))
+                            return de.forEach(e, function(e, t) {
+                                if (!de.isUndefined(e))
                                     if (0 <= "left top right bottom width height x y min-width min-height max-width max-height".indexOf(t)) r[t] = e + "px";
                                     else switch (t) {
                                         case "transition":
@@ -25155,24 +25163,24 @@
                             }), r;
 
                             function n(e, t, n) {
-                                ue.forEach(t.split(" "), function(e) {
+                                de.forEach(t.split(" "), function(e) {
                                     r[e] = n
                                 })
                             }
                         },
                         toTransformCss: function(t, e, n) {
                             var r = {};
-                            return ue.forEach(c.CSS.TRANSFORM.split(" "), function(e) {
+                            return de.forEach(c.CSS.TRANSFORM.split(" "), function(e) {
                                 r[e] = t
                             }), e && (n = n || "all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important", r.transition = n), r
                         },
                         copyRect: function(t, n) {
-                            return t ? (n = n || {}, ue.forEach("left top right bottom width height".split(" "), function(e) {
+                            return t ? (n = n || {}, de.forEach("left top right bottom width height".split(" "), function(e) {
                                 n[e] = Math.round(t[e])
                             }), n.width = n.width || n.right - n.left, n.height = n.height || n.bottom - n.top, n) : null
                         },
                         clientRect: function(e) {
-                            var t, n = ue.element(e)[0].getBoundingClientRect();
+                            var t, n = de.element(e)[0].getBoundingClientRect();
                             return (t = n) && 0 < t.width && 0 < t.height ? u.copyRect(n) : null
                         },
                         centerPointFor: function(e) {
@@ -25187,9 +25195,9 @@
                     };
                     var r, t, l, c, o, u
                 }
-            }]), 4 <= ue.version.minor ? ue.module("material.core.animate", []) : function() {
-                var k = ue.forEach,
-                    x = ue.isDefined(document.documentElement.style.WebkitAppearance),
+            }]), 4 <= de.version.minor ? de.module("material.core.animate", []) : function() {
+                var k = de.forEach,
+                    x = de.isDefined(document.documentElement.style.WebkitAppearance),
                     T = x ? "-webkit-" : "",
                     M = (x ? "webkitTransitionEnd " : "") + "transitionend",
                     A = (x ? "webkitAnimationEnd " : "") + "animationend",
@@ -25204,7 +25212,7 @@
                             done: function(e) {
                                 2 === this._state ? e() : this._doneCallbacks.push(e)
                             },
-                            progress: ue.noop,
+                            progress: de.noop,
                             getPromise: function() {
                                 if (!this.promise) {
                                     var e = this;
@@ -25266,7 +25274,7 @@
                         return e.charAt(1).toUpperCase()
                     })
                 }
-                ue.module("material.core.animate", []).factory("$$forceReflow", ["$document", function(e) {
+                de.module("material.core.animate", []).factory("$$forceReflow", ["$document", function(e) {
                     return function() {
                         return e[0].body.clientWidth + 1
                     }
@@ -25409,7 +25417,7 @@
                         hasAriaLabel: d,
                         parentHasAriaLabel: function e(t, n) {
                             n = n || 1;
-                            var r = ue.element(t)[0] || t;
+                            var r = de.element(t)[0] || t;
                             if (!r.parentNode) return !1;
                             if (i(r.parentNode)) return !0;
                             n--;
@@ -25522,7 +25530,7 @@
                     };
 
                     function s(e, t, n) {
-                        var r = ue.element(e)[0] || e;
+                        var r = de.element(e)[0] || e;
                         !r || r.hasAttribute(t) && 0 !== r.getAttribute(t).length || function(e, t) {
                             var n = e.hasChildNodes(),
                                 r = !1;
@@ -25533,7 +25541,7 @@
                                 }
                             var s;
                             return r
-                        }(r, t) || ((n = ue.isString(n) ? n.trim() : "").length ? e.attr(t, n) : a && i.warn('ARIA: Attribute "', t, '", required for accessibility, is missing on node:', r))
+                        }(r, t) || ((n = de.isString(n) ? n.trim() : "").length ? e.attr(t, n) : a && i.warn('ARIA: Attribute "', t, '", required for accessibility, is missing on node:', r))
                     }
 
                     function c(e, t, n) {
@@ -25554,11 +25562,11 @@
                     }
 
                     function d(e) {
-                        var t = ue.element(e)[0] || e;
+                        var t = de.element(e)[0] || e;
                         return !!t.hasAttribute && (t.hasAttribute("aria-label") || t.hasAttribute("aria-labelledby") || t.hasAttribute("aria-describedby"))
                     }
                 }
-                o.$inject = ["$$rAF", "$log", "$window", "$interpolate"], ue.module("material.core").provider("$mdAria", function() {
+                o.$inject = ["$$rAF", "$log", "$window", "$interpolate"], de.module("material.core").provider("$mdAria", function() {
                     var i = {
                         showWarnings: !0
                     };
@@ -25580,7 +25588,7 @@
                         this.$q = e, this.$templateRequest = t, this.$injector = n, this.$compile = r, this.$controller = i
                     }
                     this.respectPreAssignBindingsEnabled = function(e) {
-                        return ue.isDefined(e) ? (a = e, this) : a
+                        return de.isDefined(e) ? (a = e, this) : a
                     }, this.$get = ["$q", "$templateRequest", "$injector", "$compile", "$controller", function(e, t, n, r, i) {
                         return new s(e, t, n, r, i)
                     }], s.prototype.compile = function(e) {
@@ -25599,14 +25607,14 @@
                         var i = this,
                             e = r.templateUrl,
                             t = r.template || "",
-                            n = ue.extend({}, r.resolve),
-                            o = ue.extend({}, r.locals),
-                            a = r.transformTemplate || ue.identity;
-                        return ue.forEach(n, function(e, t) {
-                            ue.isString(e) ? n[t] = i.$injector.get(e) : n[t] = i.$injector.invoke(e)
-                        }), ue.extend(n, o), n.$$ngTemplate = e ? this.$templateRequest(e) : this.$q.when(t), this.$q.all(n).then(function(e) {
+                            n = de.extend({}, r.resolve),
+                            o = de.extend({}, r.locals),
+                            a = r.transformTemplate || de.identity;
+                        return de.forEach(n, function(e, t) {
+                            de.isString(e) ? n[t] = i.$injector.get(e) : n[t] = i.$injector.invoke(e)
+                        }), de.extend(n, o), n.$$ngTemplate = e ? this.$templateRequest(e) : this.$q.when(t), this.$q.all(n).then(function(e) {
                             var t = a(e.$$ngTemplate, r),
-                                n = r.element || ue.element("<div>").html(t.trim()).contents();
+                                n = r.element || de.element("<div>").html(t.trim()).contents();
                             return i._compileElement(e, n, r)
                         })
                     }, s.prototype._compileElement = function(r, i, o) {
@@ -25618,7 +25626,7 @@
                                 locals: r,
                                 link: function(e) {
                                     if (r.$scope = e, o.controller) {
-                                        var t = ue.extend({}, r, {
+                                        var t = de.extend({}, r, {
                                                 $element: i
                                             }),
                                             n = a._createController(o, t, r);
@@ -25630,18 +25638,18 @@
                         return l
                     }, s.prototype._createController = function(e, t, n) {
                         var r;
-                        if (!a || ("function" == typeof o.preAssignBindingsEnabled ? o.preAssignBindingsEnabled() : 1 === ue.version.major && ue.version.minor < 6)) {
+                        if (!a || ("function" == typeof o.preAssignBindingsEnabled ? o.preAssignBindingsEnabled() : 1 === de.version.major && de.version.minor < 6)) {
                             var i = this.$controller(e.controller, t, !0);
-                            e.bindToController && ue.extend(i.instance, n), r = i()
-                        } else r = this.$controller(e.controller, t), e.bindToController && ue.extend(r, n);
-                        return e.controllerAs && (t.$scope[e.controllerAs] = r), ue.isFunction(r.$onInit) && r.$onInit(), r
+                            e.bindToController && de.extend(i.instance, n), r = i()
+                        } else r = this.$controller(e.controller, t), e.bindToController && de.extend(r, n);
+                        return e.controllerAs && (t.$scope[e.controllerAs] = r), de.isFunction(r.$onInit) && r.$onInit(), r
                     }, s.prototype._fetchContentElement = function(e) {
                         var t = e.contentElement,
                             n = null;
-                        return n = ue.isString(t) ? r(t = document.querySelector(t)) : (t = t[0] || t, document.contains(t) ? r(t) : function() {
+                        return n = de.isString(t) ? r(t = document.querySelector(t)) : (t = t[0] || t, document.contains(t) ? r(t) : function() {
                             t.parentNode && t.parentNode.removeChild(t)
                         }), {
-                            element: ue.element(t),
+                            element: de.element(t),
                             restore: n
                         };
 
@@ -25654,7 +25662,7 @@
                         }
                     }
                 }
-                ue.module("material.core").provider("$mdCompiler", e), e.$inject = ["$compileProvider"]
+                de.module("material.core").provider("$mdCompiler", e), e.$inject = ["$compileProvider"]
             }(),
             function() {
                 i.$inject = ["$$MdGestureHandler", "$$rAF", "$timeout"];
@@ -25663,8 +25671,8 @@
                     c = !(p.$inject = ["$mdGesture", "$$MdGestureHandler"]),
                     a = !1,
                     u = null,
-                    d = !1,
-                    e = navigator.userAgent || navigator.vendor || F.opera,
+                    d = !1;
+                if (F.navigator) var e = F.navigator.userAgent || F.navigator.vendor || F.opera,
                     f = e.match(/ipad|iphone|ipod/i),
                     h = e.match(/android/i);
 
@@ -25675,14 +25683,14 @@
                             for (var e = document.createElement("div"), t = ["", "webkit", "Moz", "MS", "ms", "o"], n = 0; n < t.length; n++) {
                                 var r = t[n],
                                     i = r ? r + "TouchAction" : "touchAction";
-                                if (ue.isDefined(e.style[i])) return i
+                                if (de.isDefined(e.style[i])) return i
                             }
                         }(),
-                        t = void 0 !== F.jQuery && ue.element === F.jQuery,
+                        t = void 0 !== F.jQuery && de.element === F.jQuery,
                         o = {
                             handler: function(e, t) {
                                 var n = new r(e);
-                                return ue.extend(n, t), s[e] = n, o
+                                return de.extend(n, t), s[e] = n, o
                             },
                             register: function(e, t, n) {
                                 var r = s[t.replace(/^\$md./, "")];
@@ -25740,7 +25748,7 @@
                             this.state.pos = {
                                 x: t.x,
                                 y: t.y
-                            }, this.state.timeout = n(ue.bind(this, function() {
+                            }, this.state.timeout = n(de.bind(this, function() {
                                 this.dispatchEvent(e, "$md.hold"), this.cancel()
                             }), this.state.options.delay, !1)
                         },
@@ -25796,17 +25804,15 @@
 
                 function p(e, i) {
                     if (!a) {
-                        document.contains || (document.contains = function(e) {
-                            return document.body.contains(e)
-                        }), !d && e.isHijackingClicks && (document.addEventListener("click", function(e) {
+                        !d && e.isHijackingClicks && (document.addEventListener("click", function(e) {
                             var t;
-                            t = f ? ue.isDefined(e.webkitForce) && 0 === e.webkitForce : 0 === e.clientX && 0 === e.clientY;
+                            t = f ? de.isDefined(e.webkitForce) && 0 === e.webkitForce : 0 === e.clientX && 0 === e.clientY;
                             t || e.$material || e.isIonicTap || v(e) ? (u = null, "label" === e.target.tagName.toLowerCase() && (u = {
                                 x: e.x,
                                 y: e.y
                             })) : (e.preventDefault(), e.stopPropagation(), u = null)
                         }, !0), document.addEventListener("mouseup", t, !0), document.addEventListener("mousedown", t, !0), document.addEventListener("focus", t, !0), d = !0);
-                        ue.element(document).on("mousedown touchstart pointerdown", function(e) {
+                        de.element(document).on("mousedown touchstart pointerdown", function(e) {
                             if (o) return;
                             var t = +Date.now();
                             if (r && !g(e, r) && t - r.endTime < 1500) return;
@@ -25865,14 +25871,14 @@
                 function _(e) {
                     return !!e && "-1" !== e.getAttribute("tabindex") && !e.hasAttribute("disabled") && (e.hasAttribute("tabindex") || e.hasAttribute("href") || e.isContentEditable || -1 !== ["INPUT", "SELECT", "BUTTON", "TEXTAREA", "VIDEO", "AUDIO"].indexOf(e.nodeName))
                 }
-                ue.module("material.core.gestures", []).provider("$mdGesture", t).factory("$$MdGestureHandler", function() {
-                    var e = void 0 !== F.jQuery && ue.element === F.jQuery;
+                de.module("material.core.gestures", []).provider("$mdGesture", t).factory("$$MdGestureHandler", function() {
+                    var e = void 0 !== F.jQuery && de.element === F.jQuery;
                     return n.prototype = {
                         options: {},
                         dispatchEvent: e ? function(e, t, n) {
                             n = n || o;
-                            var r = new ue.element.Event(t);
-                            r.$material = !0, r.pointer = n, r.srcEvent = e, ue.extend(r, {
+                            var r = new de.element.Event(t);
+                            r.$material = !0, r.pointer = n, r.srcEvent = e, de.extend(r, {
                                 clientX: n.x,
                                 clientY: n.y,
                                 screenX: n.x,
@@ -25883,7 +25889,7 @@
                                 altKey: e.altKey,
                                 shiftKey: e.shiftKey,
                                 metaKey: e.metaKey
-                            }), ue.element(n.target).trigger(r)
+                            }), de.element(n.target).trigger(r)
                         } : function(e, t, n) {
                             var r;
                             n = n || o, "click" === t || "mouseup" === t || "mousedown" === t ? "function" == typeof F.MouseEvent ? r = new MouseEvent(t, {
@@ -25906,19 +25912,19 @@
                                 detail: {}
                             }) : (r = document.createEvent("CustomEvent")).initCustomEvent(t, !0, !0, {}), r.$material = !0, r.pointer = n, r.srcEvent = e, n.target.dispatchEvent(r)
                         },
-                        onSetup: ue.noop,
-                        onCleanup: ue.noop,
-                        onStart: ue.noop,
-                        onMove: ue.noop,
-                        onEnd: ue.noop,
-                        onCancel: ue.noop,
+                        onSetup: de.noop,
+                        onCleanup: de.noop,
+                        onStart: de.noop,
+                        onMove: de.noop,
+                        onEnd: de.noop,
+                        onCancel: de.noop,
                         start: function(e, t) {
                             if (!this.state.isRunning) {
                                 var n = this.getNearestParent(e.target),
                                     r = n && n.$mdGesture[this.name] || {};
                                 this.state = {
                                     isRunning: !0,
-                                    options: ue.extend({}, this.options, r),
+                                    options: de.extend({}, this.options, r),
                                     registeredParent: n
                                 }, this.onStart(e, t)
                             }
@@ -25927,7 +25933,7 @@
                             this.state.isRunning && this.onMove(e, t)
                         },
                         end: function(e, t) {
-                            this.state.isRunning && (this.onEnd(e, t), this.state.isRunning = !1)
+                            this.state.isRunning && (this.state.isRunning = !1, this.onEnd(e, t))
                         },
                         cancel: function(e, t) {
                             this.onCancel(e, t), this.state = {}
@@ -25965,7 +25971,7 @@
             }(),
             function() {
                 function e(e, t, n) {
-                    this.$timeout = e, this.$mdUtil = t, this.$rootScope = n, this.pointerEvent = "MSPointerEvent" in F ? "MSPointerDown" : "PointerEvent" in F ? "pointerdown" : null, this.bodyElement = ue.element(document.body), this.isBuffering = !1, this.bufferTimeout = null, this.lastInteractionType = null, this.lastInteractionTime = null, this.inputHandler = this.onInputEvent.bind(this), this.bufferedInputHandler = this.onBufferInputEvent.bind(this), this.inputEventMap = {
+                    this.$timeout = e, this.$mdUtil = t, this.$rootScope = n, this.pointerEvent = "MSPointerEvent" in F ? "MSPointerDown" : "PointerEvent" in F ? "pointerdown" : null, this.bodyElement = de.element(document.body), this.isBuffering = !1, this.bufferTimeout = null, this.lastInteractionType = null, this.lastInteractionTime = null, this.inputHandler = this.onInputEvent.bind(this), this.bufferedInputHandler = this.onBufferInputEvent.bind(this), this.inputEventMap = {
                         keydown: "keyboard",
                         mousedown: "mouse",
                         mouseenter: "mouse",
@@ -25978,7 +25984,7 @@
                         4: "mouse"
                     }, this.initializeEvents(), this.$rootScope.$on("$destroy", this.deregister.bind(this))
                 }
-                e.$inject = ["$timeout", "$mdUtil", "$rootScope"], ue.module("material.core.interaction", []).service("$mdInteraction", e), e.prototype.deregister = function() {
+                e.$inject = ["$timeout", "$mdUtil", "$rootScope"], de.module("material.core.interaction", []).service("$mdInteraction", e), e.prototype.deregister = function() {
                     this.bodyElement.off("keydown mousedown", this.inputHandler), "ontouchstart" in document.documentElement && this.bodyElement.off("touchstart", this.bufferedInputHandler), this.pointerEvent && this.bodyElement.off(this.pointerEvent, this.inputHandler)
                 }, e.prototype.initializeEvents = function() {
                     this.bodyElement.on("keydown mousedown", this.inputHandler), "ontouchstart" in document.documentElement && this.bodyElement.on("touchstart", this.bufferedInputHandler), this.pointerEvent && this.bodyElement.on(this.pointerEvent, this.inputHandler)
@@ -25994,10 +26000,10 @@
                 }, e.prototype.getLastInteractionType = function() {
                     return this.lastInteractionType
                 }, e.prototype.isUserInvoked = function(e) {
-                    var t = ue.isNumber(e) ? e : 15;
+                    var t = de.isNumber(e) ? e : 15;
                     return this.lastInteractionTime >= this.$mdUtil.now() - t
                 }
-            }(), ue.module("material.core").provider("$$interimElement", function() {
+            }(), de.module("material.core").provider("$$interimElement", function() {
                 return t.$inject = ["$document", "$q", "$rootScope", "$timeout", "$rootElement", "$animate", "$mdUtil", "$mdCompiler", "$mdTheming", "$injector", "$exceptionHandler"], e.$get = t, e;
 
                 function e(i) {
@@ -26037,24 +26043,24 @@
                                 hide: n.hide,
                                 cancel: n.cancel,
                                 show: function(e) {
-                                    return (e = e || {})._options && (e = e._options), n.show(ue.extend({}, t, e))
+                                    return (e = e || {})._options && (e = e._options), n.show(de.extend({}, t, e))
                                 },
                                 destroy: function(e) {
                                     return n.destroy(e)
                                 }
                             };
-                        return a = c.methods || [], t = l(c.optionsFactory, {}), ue.forEach(o, function(e, t) {
+                        return a = c.methods || [], t = l(c.optionsFactory, {}), de.forEach(o, function(e, t) {
                             s[t] = e
-                        }), ue.forEach(c.presets, function(t, n) {
+                        }), de.forEach(c.presets, function(t, n) {
                             var r = l(t.optionsFactory, {}),
                                 e = (t.methods || []).concat(a);
 
                             function i(e) {
-                                this._options = ue.extend({}, r, e)
+                                this._options = de.extend({}, r, e)
                             }
-                            if (ue.extend(r, {
+                            if (de.extend(r, {
                                     $type: n
-                                }), ue.forEach(e, function(t) {
+                                }), de.forEach(e, function(t) {
                                     i.prototype[t] = function(e) {
                                         return this._options[t] = e, this
                                     }
@@ -26066,7 +26072,7 @@
                                 }
                             }
                             s[n] = function(e) {
-                                return arguments.length && t.argOption && !ue.isObject(e) && !ue.isArray(e) ? (new i)[t.argOption](e) : new i(e)
+                                return arguments.length && t.argOption && !de.isObject(e) && !de.isArray(e) ? (new i)[t.argOption](e) : new i(e)
                             }
                         }), s;
 
@@ -26106,7 +26112,7 @@
                                 }), t.deferred.promise
                             },
                             hide: e(function(n, r) {
-                                return (r = r || {}).closeAll ? f.all(a.slice().reverse().map(e)) : r.closeTo !== de ? f.all(a.slice(r.closeTo).map(e)) : e(a[a.length - 1]);
+                                return (r = r || {}).closeAll ? f.all(a.slice().reverse().map(e)) : r.closeTo !== fe ? f.all(a.slice(r.closeTo).map(e)) : e(a[a.length - 1]);
 
                                 function e(e) {
                                     if (!e) return f.when(n);
@@ -26126,11 +26132,11 @@
                                 }).finally(function() {
                                     o.splice(o.indexOf(r), 1)
                                 });
-                                return o.push(r), n.deferred.promise.catch(ue.noop)
+                                return o.push(r), n.deferred.promise.catch(de.noop)
                             }),
                             destroy: function(e) {
                                 var t = e ? null : a.shift(),
-                                    n = ue.element(e).length && ue.element(e)[0].parentNode;
+                                    n = de.element(e).length && de.element(e)[0].parentNode;
                                 if (n) {
                                     var r = a.filter(function(e) {
                                         return e.options.element[0] === n
@@ -26155,9 +26161,9 @@
 
                         function s(a) {
                             var o, s, e, l = f.when(!0);
-                            return (e = (e = a) || {}).template && (e.template = n.processTemplate(e.template)), a = ue.extend({
+                            return (e = (e = a) || {}).template && (e.template = n.processTemplate(e.template)), a = de.extend({
                                 preserveScope: !1,
-                                cancelAutoHide: ue.noop,
+                                cancelAutoHide: de.noop,
                                 scope: e.scope || t.$new(e.isolateScope),
                                 onShow: function(e, t, n) {
                                     return r.enter(t, n.parent)
@@ -26184,12 +26190,12 @@
                                             })
                                         })).then(function(e) {
                                             s = function(e, t) {
-                                                ue.extend(e.locals, t);
+                                                de.extend(e.locals, t);
                                                 var n, r, i, o, a = e.link(t.scope);
-                                                return t.element = a, t.parent = (n = a, o = (r = t).parent, ((o = ue.isFunction(o) ? o(r.scope, n, r) : ue.isString(o) ? ue.element(d[0].querySelector(o)) : ue.element(o)) || {}).length ? o : (p[0] && p[0].querySelector && (i = p[0].querySelector(":not(svg) > body")), i || (i = p[0]), "#comment" == i.nodeName && (i = d[0].body), ue.element(i))), t.themable && g(a), a
+                                                return t.element = a, t.parent = (n = a, o = (r = t).parent, ((o = de.isFunction(o) ? o(r.scope, n, r) : de.isString(o) ? de.element(d[0].querySelector(o)) : de.element(o)) || {}).length ? o : (p[0] && p[0].querySelector && (i = p[0].querySelector(":not(svg) > body")), i || (i = p[0]), "#comment" == i.nodeName && (i = d[0].body), de.element(i))), t.themable && g(a), a
                                             }(e, a), a.cleanupElement = e.cleanup, l = function(r, i, e) {
-                                                var t = i.onShowing || ue.noop,
-                                                    o = i.onComplete || ue.noop;
+                                                var t = i.onShowing || de.noop,
+                                                    o = i.onComplete || de.noop;
                                                 try {
                                                     t(i.scope, r, i, e)
                                                 } catch (e) {
@@ -26199,10 +26205,10 @@
                                                     try {
                                                         f.when(i.onShow(i.scope, r, i, e)).then(function() {
                                                             var e, t;
-                                                            o(i.scope, r, i), t = ue.noop, a.hideDelay && (e = h(u.hide, a.hideDelay), t = function() {
+                                                            o(i.scope, r, i), t = de.noop, a.hideDelay && (e = h(u.hide, a.hideDelay), t = function() {
                                                                 h.cancel(e)
                                                             }), a.cancelAutoHide = function() {
-                                                                t(), a.cancelAutoHide = de
+                                                                t(), a.cancelAutoHide = fe
                                                             }, n(r)
                                                         }, t)
                                                     } catch (e) {
@@ -26214,7 +26220,7 @@
                                     })
                                 },
                                 remove: function(e, t, n) {
-                                    return s ? ((a = ue.extend(a || {}, n || {})).cancelAutoHide && a.cancelAutoHide(), a.element.triggerHandler("$mdInterimElementRemove"), !0 === a.$destroy ? c(a.element, a).then(function() {
+                                    return s ? ((a = de.extend(a || {}, n || {})).cancelAutoHide && a.cancelAutoHide(), a.element.triggerHandler("$mdInterimElementRemove"), !0 === a.$destroy ? c(a.element, a).then(function() {
                                         t && i(e) || r(e)
                                     }) : (f.when(l).finally(function() {
                                         c(a.element, a).then(function() {
@@ -26233,7 +26239,7 @@
                             };
 
                             function c(r, i) {
-                                var o = i.onRemoving || ue.noop;
+                                var o = i.onRemoving || de.noop;
                                 return f(function(e, t) {
                                     try {
                                         var n = f.when(i.onRemove(i.scope, r, i) || !0);
@@ -26281,7 +26287,7 @@
                             restrict: "A",
                             compile: function(e, t) {
                                 var n;
-                                return g.enabled && (w(r, k(r, t, ""), E(0, r, t)), i(0, e), n = i), n || ue.noop
+                                return g.enabled && (w(r, k(r, t, ""), E(0, r, t)), i(0, e), n = i), n || de.noop
                             }
                         }
                     }];
@@ -26294,7 +26300,7 @@
                 function _(t) {
                     var n = t.split("-");
                     return ["$log", function(e) {
-                        return e.warn(t + "has been deprecated. Please use a `" + n[0] + "-gt-<xxx>` variant."), ue.noop
+                        return e.warn(t + "has been deprecated. Please use a `" + n[0] + "-gt-<xxx>` variant."), de.noop
                     }]
                 }
 
@@ -26333,7 +26339,7 @@
                             case "layout-nowrap":
                                 t = ""
                         }
-                        null != t && (n || ue.noop)(t)
+                        null != t && (n || de.noop)(t)
                     }
                     var i, o, a;
                     return t ? t.trim() : ""
@@ -26371,8 +26377,8 @@
                             return r ? n.toUpperCase() : n
                         })
                     }
-                    ue.forEach(["", "xs", "gt-xs", "sm", "gt-sm", "md", "gt-md", "lg", "gt-lg", "xl", "print"], function(n) {
-                        ue.forEach(e, function(e) {
+                    de.forEach(["", "xs", "gt-xs", "sm", "gt-sm", "md", "gt-md", "lg", "gt-lg", "xl", "print"], function(n) {
+                        de.forEach(e, function(e) {
                             var t = n ? e + "-" + n : e;
                             r.directive(a(t), function(l) {
                                 return ["$mdUtil", "$interpolate", "$log", function(e, t, n) {
@@ -26380,7 +26386,7 @@
                                         restrict: "A",
                                         compile: function(e, t) {
                                             var n;
-                                            return g.enabled && ($(l, 0, e, u), w(l, k(l, t, ""), E(0, l, t)), n = r), n || ue.noop
+                                            return g.enabled && ($(l, 0, e, u), w(l, k(l, t, ""), E(0, l, t)), n = r), n || de.noop
                                         }
                                     }
                                 }];
@@ -26388,7 +26394,7 @@
                                 function r(e, t, n) {
                                     var r, i, o, a = (r = t, i = l, function(e) {
                                             var t = w(i, e || "");
-                                            ue.isDefined(t) && (o && r.removeClass(o), o = t ? i + "-" + t.trim().replace(d, "-") : i, r.addClass(o))
+                                            de.isDefined(t) && (o && r.removeClass(o), o = t ? i + "-" + t.trim().replace(d, "-") : i, r.addClass(o))
                                         }),
                                         s = n.$observe(n.$normalize(l), a);
                                     a(k(l, n, "")), e.$on("$destroy", function() {
@@ -26396,13 +26402,13 @@
                                     })
                                 }
                             }(t))
-                        }), ue.forEach(o, function(e) {
+                        }), de.forEach(o, function(e) {
                             var t = n ? e + "-" + n : e;
                             r.directive(a(t), y(t))
                         })
                     }), r.provider("$$mdLayout", function() {
                         return {
-                            $get: ue.noop,
+                            $get: de.noop,
                             validateAttributeValue: w,
                             validateAttributeUsage: $,
                             disableLayouts: function(e) {
@@ -26418,17 +26424,17 @@
                                     n(function() {
                                         t.removeClass(i)
                                     }, 10, !1)
-                                }) : ue.noop
+                                }) : de.noop
                             }
                         }
-                }(ue.module("material.core.layout", ["ng"]))
+                }(de.module("material.core.layout", ["ng"]))
             }(),
             function() {
                 function e(e) {
                     this._$timeout = e, this._liveElement = this._createLiveElement(), this._announceTimeout = 100
                 }
-                e.$inject = ["$timeout"], ue.module("material.core").service("$mdLiveAnnouncer", e), e.prototype.announce = function(e, t) {
+                e.$inject = ["$timeout"], de.module("material.core").service("$mdLiveAnnouncer", e), e.prototype.announce = function(e, t) {
                     t || (t = "polite");
                     var n = this;
                     n._liveElement.textContent = "", n._liveElement.setAttribute("aria-live", t), n._$timeout(function() {
@@ -26438,20 +26444,20 @@
                     var e = document.createElement("div");
                     return e.classList.add("md-visually-hidden"), e.setAttribute("role", "status"), e.setAttribute("aria-atomic", "true"), e.setAttribute("aria-live", "polite"), document.body.appendChild(e), e
                 }
-            }(), ue.module("material.core.meta", []).provider("$$mdMeta", function() {
-                var r = ue.element(document.head),
+            }(), de.module("material.core.meta", []).provider("$$mdMeta", function() {
+                var r = de.element(document.head),
                     i = {};
 
                 function o(e) {
                     if (i[e]) return !0;
                     var t = document.getElementsByName(e)[0];
-                    return !!t && (i[e] = ue.element(t), !0)
+                    return !!t && (i[e] = de.element(t), !0)
                 }
                 var e = {
                     setMeta: function(e, t) {
                         if (o(e), i[e]) i[e].attr("content", t);
                         else {
-                            var n = ue.element('<meta name="' + e + '" content="' + t + '"/>');
+                            var n = de.element('<meta name="' + e + '" content="' + t + '"/>');
                             r.append(n), i[e] = n
                         }
                         return function() {
@@ -26463,7 +26469,7 @@
                         return i[e].attr("content")
                     }
                 };
-                return ue.extend({}, e, {
+                return de.extend({}, e, {
                     $get: function() {
                         return e
                     }
@@ -26492,14 +26498,14 @@
                                 e.resolve(t)
                             }), delete a[e]), function() {
                                 var e = o.indexOf(t); - 1 !== e && o.splice(e, 1)
-                            }) : ue.noop;
+                            }) : de.noop;
                             var n
                         },
                         when: function(e) {
                             if (s(e)) {
                                 var t = r.defer(),
                                     n = i.get(e);
-                                return n ? t.resolve(n) : (a[e] === de && (a[e] = []), a[e].push(t)), t.promise
+                                return n ? t.resolve(n) : (a[e] === fe && (a[e] = []), a[e].push(t)), t.promise
                             }
                             return r.reject("Invalid `md-component-id` value.")
                         }
@@ -26509,14 +26515,14 @@
                         return e && "" !== e
                     }
                 }
-                e.$inject = ["$log", "$q"], ue.module("material.core").factory("$mdComponentRegistry", e)
+                e.$inject = ["$log", "$q"], de.module("material.core").factory("$mdComponentRegistry", e)
             }(),
             function() {
                 function e(i) {
                     return {
                         attach: function(e, t, n) {
                             var r;
-                            return n = ue.extend((r = t).hasClass("md-icon-button") ? {
+                            return n = de.extend((r = t).hasClass("md-icon-button") ? {
                                 isMenuItem: r.hasClass("md-menu-item"),
                                 fitRipple: !0,
                                 center: !0
@@ -26527,13 +26533,13 @@
                         }
                     }
                 }
-                e.$inject = ["$mdInkRipple"], ue.module("material.core").factory("$mdButtonInkRipple", e)
+                e.$inject = ["$mdInkRipple"], de.module("material.core").factory("$mdButtonInkRipple", e)
             }(),
             function() {
                 function e(r) {
                     return {
                         attach: function(e, t, n) {
-                            return r.attach(e, t, ue.extend({
+                            return r.attach(e, t, de.extend({
                                 center: !0,
                                 dimBackground: !1,
                                 fitRipple: !0
@@ -26541,13 +26547,13 @@
                         }
                     }
                 }
-                e.$inject = ["$mdInkRipple"], ue.module("material.core").factory("$mdCheckboxInkRipple", e)
+                e.$inject = ["$mdInkRipple"], de.module("material.core").factory("$mdCheckboxInkRipple", e)
             }(),
             function() {
                 function e(r) {
                     return {
                         attach: function(e, t, n) {
-                            return r.attach(e, t, ue.extend({
+                            return r.attach(e, t, de.extend({
                                 center: !1,
                                 dimBackground: !0,
                                 outline: !1,
@@ -26556,10 +26562,10 @@
                         }
                     }
                 }
-                e.$inject = ["$mdInkRipple"], ue.module("material.core").factory("$mdListInkRipple", e)
+                e.$inject = ["$mdInkRipple"], de.module("material.core").factory("$mdListInkRipple", e)
             }(),
             function() {
-                o.$inject = ["$scope", "$element", "rippleOptions", "$window", "$timeout", "$mdUtil", "$mdColorUtil"], e.$inject = ["$mdButtonInkRipple", "$mdCheckboxInkRipple"], ue.module("material.core").provider("$mdInkRipple", function() {
+                o.$inject = ["$scope", "$element", "rippleOptions", "$window", "$timeout", "$mdUtil", "$mdColorUtil"], e.$inject = ["$mdButtonInkRipple", "$mdCheckboxInkRipple"], de.module("material.core").provider("$mdInkRipple", function() {
                     var i = !1;
                     return {
                         disableInkRipple: function() {
@@ -26568,7 +26574,7 @@
                         $get: ["$injector", function(r) {
                             return {
                                 attach: function(e, t, n) {
-                                    return i || t.controller("mdNoInk") ? ue.noop : r.instantiate(o, {
+                                    return i || t.controller("mdNoInk") ? de.noop : r.instantiate(o, {
                                         $scope: e,
                                         $element: t,
                                         rippleOptions: n
@@ -26581,7 +26587,7 @@
 
                 function e(r, i) {
                     return {
-                        controller: ue.noop,
+                        controller: de.noop,
                         link: function(e, t, n) {
                             n.hasOwnProperty("mdInkRippleCheckbox") ? i.attach(e, t) : r.attach(e, t)
                         }
@@ -26589,21 +26595,21 @@
                 }
 
                 function o(e, t, n, r, i, o, a) {
-                    this.$window = r, this.$timeout = i, this.$mdUtil = o, this.$mdColorUtil = a, this.$scope = e, this.$element = t, this.options = n, this.mousedown = !1, this.ripples = [], this.timeout = null, this.lastRipple = null, o.valueOnUse(this, "container", this.createContainer), this.$element.addClass("md-ink-ripple"), (t.controller("mdInkRipple") || {}).createRipple = ue.bind(this, this.createRipple), (t.controller("mdInkRipple") || {}).setColor = ue.bind(this, this.color), this.bindEvents()
+                    this.$window = r, this.$timeout = i, this.$mdUtil = o, this.$mdColorUtil = a, this.$scope = e, this.$element = t, this.options = n, this.mousedown = !1, this.ripples = [], this.timeout = null, this.lastRipple = null, o.valueOnUse(this, "container", this.createContainer), this.$element.addClass("md-ink-ripple"), (t.controller("mdInkRipple") || {}).createRipple = de.bind(this, this.createRipple), (t.controller("mdInkRipple") || {}).setColor = de.bind(this, this.color), this.bindEvents()
                 }
 
                 function t(e, t) {
-                    (e.mousedown || e.lastRipple) && (e.mousedown = !1, e.$mdUtil.nextTick(ue.bind(e, t), !1))
+                    (e.mousedown || e.lastRipple) && (e.mousedown = !1, e.$mdUtil.nextTick(de.bind(e, t), !1))
                 }
 
                 function n() {
                     return {
-                        controller: ue.noop
+                        controller: de.noop
                     }
                 }
                 o.prototype.color = function(e) {
                     var t, n, r = this;
-                    return ue.isDefined(e) && (r._color = r._parseColor(e)), r._color || r._parseColor(r.inkRipple()) || r._parseColor((t = r.options && r.options.colorElement ? r.options.colorElement : [], (n = t.length ? t[0] : r.$element[0]) ? r.$window.getComputedStyle(n).color : "rgb(0,0,0)"))
+                    return de.isDefined(e) && (r._color = r._parseColor(e)), r._color || r._parseColor(r.inkRipple()) || r._parseColor((t = r.options && r.options.colorElement ? r.options.colorElement : [], (n = t.length ? t[0] : r.$element[0]) ? r.$window.getComputedStyle(n).color : "rgb(0,0,0)"))
                 }, o.prototype.calculateColor = function() {
                     return this.color()
                 }, o.prototype._parseColor = function(e, t) {
@@ -26611,7 +26617,7 @@
                     var n = this.$mdColorUtil;
                     if (e) return 0 === e.indexOf("rgba") ? e.replace(/\d?\.?\d*\s*\)\s*$/, (.1 * t).toString() + ")") : 0 === e.indexOf("rgb") ? n.rgbToRgba(e) : 0 === e.indexOf("#") ? n.hexToRgba(e) : void 0
                 }, o.prototype.bindEvents = function() {
-                    this.$element.on("mousedown", ue.bind(this, this.handleMousedown)), this.$element.on("mouseup touchend", ue.bind(this, this.handleMouseup)), this.$element.on("mouseleave", ue.bind(this, this.handleMouseup)), this.$element.on("touchmove", ue.bind(this, this.handleTouchmove))
+                    this.$element.on("mousedown", de.bind(this, this.handleMousedown)), this.$element.on("mouseup touchend", de.bind(this, this.handleMouseup)), this.$element.on("mouseleave", de.bind(this, this.handleMouseup)), this.$element.on("touchmove", de.bind(this, this.handleTouchmove))
                 }, o.prototype.handleMousedown = function(e) {
                     if (!this.mousedown)
                         if (e.hasOwnProperty("originalEvent") && (e = e.originalEvent), this.mousedown = !0, this.options.center) this.createRipple(this.container.prop("clientWidth") / 2, this.container.prop("clientWidth") / 2);
@@ -26632,7 +26638,7 @@
                 }, o.prototype.clearRipples = function() {
                     for (var e = 0; e < this.ripples.length; e++) this.fadeInComplete(this.ripples[e])
                 }, o.prototype.createContainer = function() {
-                    var e = ue.element('<div class="md-ripple-container"></div>');
+                    var e = de.element('<div class="md-ripple-container"></div>');
                     return this.$element.append(e), e
                 }, o.prototype.clearTimeout = function() {
                     this.timeout && (this.$timeout.cancel(this.timeout), this.timeout = null)
@@ -26640,7 +26646,7 @@
                     var e = this.$element[0];
                     do {
                         if (!e.tagName || "BODY" === e.tagName) break;
-                        if (e && ue.isFunction(e.hasAttribute)) {
+                        if (e && de.isFunction(e.hasAttribute)) {
                             if (e.hasAttribute("disabled")) return !1;
                             if ("false" === this.inkRipple() || "0" === this.inkRipple()) return !1
                         }
@@ -26652,7 +26658,7 @@
                     if (this.isRippleAllowed()) {
                         var n, r, i, o = this,
                             a = o.$mdColorUtil,
-                            s = ue.element('<div class="md-ripple"></div>'),
+                            s = de.element('<div class="md-ripple"></div>'),
                             l = this.$element.prop("clientWidth"),
                             c = this.$element.prop("clientHeight"),
                             u = 2 * Math.max(Math.abs(l - e), e),
@@ -26694,7 +26700,7 @@
                 function e(r) {
                     return {
                         attach: function(e, t, n) {
-                            return r.attach(e, t, ue.extend({
+                            return r.attach(e, t, de.extend({
                                 center: !1,
                                 dimBackground: !0,
                                 outline: !1,
@@ -26703,8 +26709,8 @@
                         }
                     }
                 }
-                e.$inject = ["$mdInkRipple"], ue.module("material.core").factory("$mdTabInkRipple", e)
-            }(), ue.module("material.core.theming.palette", []).constant("$mdColorPalette", {
+                e.$inject = ["$mdInkRipple"], de.module("material.core").factory("$mdTabInkRipple", e)
+            }(), de.module("material.core.theming.palette", []).constant("$mdColorPalette", {
                 red: {
                     50: "#ffebee",
                     100: "#ffcdd2",
@@ -27252,7 +27258,7 @@
 
                     function a(n, l, r, c) {
                         var i = function(e, t) {
-                            t === de && (t = e, e = de), e === de && (e = n), i.inherit(t, t)
+                            t === fe && (t = e, e = fe), e === fe && (e = n), i.inherit(t, t)
                         };
                         return Object.defineProperty(i, "THEMES", {
                             get: function() {
@@ -27273,7 +27279,7 @@
                                 var i = f || r.$shouldWatch || l.parseAttributeBoolean(n.attr("md-theme-watch"));
                                 if (i || r.isAsyncTheme) {
                                     var o = function() {
-                                            a && (a(), a = de)
+                                            a && (a(), a = fe)
                                         },
                                         a = r.registerChanges(function(e) {
                                             s(e), i || o()
@@ -27300,7 +27306,7 @@
                         }, i.setBrowserColor = t, i;
 
                         function u(e) {
-                            return e === de || "" === e || i.THEMES[e] !== de
+                            return e === fe || "" === e || i.THEMES[e] !== fe
                         }
                     }
                 }
@@ -27448,15 +27454,15 @@
                 function x(e, t) {
                     return e ? (4 == e.length && (e = y.copy(e), t ? e.pop() : t = e.pop()), t && ("number" == typeof t || "string" == typeof t && t.length) ? "rgba(" + e.join(",") + "," + t + ")" : "rgb(" + e.join(",") + ")") : "rgb('0,0,0')"
                 }
-            }(F.angular), ue.module("material.components.autocomplete", ["material.core", "material.components.icon", "material.components.virtualRepeat"]),
+            }(F.angular), de.module("material.components.autocomplete", ["material.core", "material.components.icon", "material.components.virtualRepeat"]),
             function() {
-                e.$inject = ["$scope", "$element", "$mdUtil", "$mdConstant", "$mdTheming", "$window", "$animate", "$rootElement", "$attrs", "$q", "$log", "$mdLiveAnnouncer"], ue.module("material.components.autocomplete").controller("MdAutocompleteCtrl", e);
-                var ie = 48,
-                    oe = 5,
-                    ae = 8,
-                    se = 2,
-                    le = "standard",
-                    ce = "virtual";
+                e.$inject = ["$scope", "$element", "$mdUtil", "$mdConstant", "$mdTheming", "$window", "$animate", "$rootElement", "$attrs", "$q", "$log", "$mdLiveAnnouncer"], de.module("material.components.autocomplete").controller("MdAutocompleteCtrl", e);
+                var oe = 48,
+                    ae = 5,
+                    se = 8,
+                    le = 2,
+                    ce = "standard",
+                    ue = "virtual";
 
                 function e(h, p, m, t, n, e, r, i, g, s, o, a) {
                     var l, c, u, d = this,
@@ -27473,9 +27479,9 @@
                         x = m.debounce(function() {
                             d.hidden || D()
                         }),
-                        T = ce;
-                    l = "hidden", c = function(e, t) {
-                        !e && t ? (D(), X(!0, A.Count | A.Selected), b && (m.disableScrollAround(b.ul), C = function(e) {
+                        T = ue;
+                    d.documentElement = de.element(document.documentElement), l = "hidden", c = function(e, t) {
+                        !e && t ? (D(), Q(!0, A.Count | A.Selected), b && (m.disableScrollAround(b.ul), C = function(e) {
                             function t(e) {
                                 e.preventDefault()
                             }
@@ -27483,7 +27489,7 @@
                                 function() {
                                     e.off("wheel", t), e.off("touchmove", t)
                                 }
-                        }(ue.element(b.wrap)))) : e && !t && (m.enableScrolling(), C && (C(), C = null))
+                        }(de.element(b.wrap)), d.documentElement.on("click", I))) : e && !t && (d.documentElement.off("click", I), m.enableScrolling(), C && (C(), C = null))
                     }, u = !0, Object.defineProperty(d, l, {
                         get: function() {
                             return u
@@ -27495,50 +27501,51 @@
                     }), d.scope = h, d.parent = h.$parent, d.itemName = f[0], d.matches = [], d.loading = !1, d.hidden = !0, d.index = null, d.id = m.nextUid(), d.isDisabled = null, d.isRequired = null, d.isReadonly = null, d.hasNotFound = !1, d.selectedMessage = h.selectedMessage || "selected", d.keydown = function(e) {
                         switch (e.keyCode) {
                             case t.KEY_CODE.DOWN_ARROW:
-                                if (d.loading || z()) return;
-                                e.stopPropagation(), e.preventDefault(), d.index = Math.min(d.index + 1, d.matches.length - 1), Q(), X(!1, A.Selected);
+                                if (d.loading || W()) return;
+                                e.stopPropagation(), e.preventDefault(), d.index = Math.min(d.index + 1, d.matches.length - 1), J(), Q(!1, A.Selected);
                                 break;
                             case t.KEY_CODE.UP_ARROW:
-                                if (d.loading || z()) return;
-                                e.stopPropagation(), e.preventDefault(), d.index = d.index < 0 ? d.matches.length - 1 : Math.max(0, d.index - 1), Q(), X(!1, A.Selected);
+                                if (d.loading || W()) return;
+                                e.stopPropagation(), e.preventDefault(), d.index = d.index < 0 ? d.matches.length - 1 : Math.max(0, d.index - 1), J(), Q(!1, A.Selected);
                                 break;
                             case t.KEY_CODE.TAB:
-                                if (I(), d.hidden || d.loading || d.index < 0 || d.matches.length < 1) return;
-                                G(d.index);
+                                if (R(), d.hidden || d.loading || d.index < 0 || d.matches.length < 1) return;
+                                K(d.index);
                                 break;
                             case t.KEY_CODE.ENTER:
                                 if (d.hidden || d.loading || d.index < 0 || d.matches.length < 1) return;
-                                if (z()) return;
-                                e.stopImmediatePropagation(), e.preventDefault(), G(d.index);
+                                if (W()) return;
+                                e.stopImmediatePropagation(), e.preventDefault(), K(d.index);
                                 break;
                             case t.KEY_CODE.ESCAPE:
-                                if (e.preventDefault(), !(V("blur") || !d.hidden || d.loading || V("clear") && h.searchText)) return;
-                                e.stopPropagation(), K(), h.searchText && V("clear") && Z(), d.hidden = !0, V("blur") && function(e) {
+                                if (e.preventDefault(), !(B("blur") || !d.hidden || d.loading || B("clear") && h.searchText)) return;
+                                e.stopPropagation(), Z(), h.searchText && B("clear") && X(), d.hidden = !0, B("blur") && function(e) {
                                     e && (w = _ = !1);
                                     b.input.blur()
                                 }(!0)
                         }
                     }, d.blur = function(e) {
-                        w = !1, _ || (d.hidden = q(), re("ngBlur", {
+                        w = !1, _ || (d.hidden = U(), ie("ngBlur", {
                             $event: e
                         }))
                     }, d.focus = function(e) {
-                        w = !0, U() && Y() && te();
-                        d.hidden = q(), re("ngFocus", {
+                        w = !0, V() && G() && ne();
+                        d.hidden = U(), ie("ngFocus", {
                             $event: e
                         })
-                    }, d.clear = function() {
-                        K(), Z()
-                    }, d.select = G, d.listEnter = function() {
+                    }, d.clear = function(e) {
+                        e && e.stopPropagation();
+                        Z(), X()
+                    }, d.select = K, d.listEnter = function() {
                         _ = !0
-                    }, d.listLeave = I, d.mouseUp = function() {
+                    }, d.listLeave = R, d.mouseUp = function() {
                         b.input.focus()
-                    }, d.getCurrentDisplayValue = W, d.registerSelectedItemWatcher = function(e) {
+                    }, d.getCurrentDisplayValue = Y, d.registerSelectedItemWatcher = function(e) {
                         -1 === $.indexOf(e) && $.push(e)
                     }, d.unregisterSelectedItemWatcher = function(e) {
                         var t = $.indexOf(e); - 1 !== t && $.splice(t, 1)
-                    }, d.notFoundVisible = ee, d.loadingIsVisible = function() {
-                        return d.loading && !z()
+                    }, d.notFoundVisible = te, d.loadingIsVisible = function() {
+                        return d.loading && !W()
                     }, d.positionDropdown = D;
                     var M, A = {
                         Count: 1,
@@ -27555,11 +27562,11 @@
                         d.isRequired = m.parseAttributeBoolean(e, !1)
                     }), g.$observe("readonly", function(e) {
                         d.isReadonly = m.parseAttributeBoolean(e, !1)
-                    }), h.$watch("searchText", M ? m.debounce(P, M) : P), h.$watch("selectedItem", R), ue.element(e).on("resize", x), h.$on("$destroy", N), void m.nextTick(function() {
+                    }), h.$watch("searchText", M ? m.debounce(H, M) : H), h.$watch("selectedItem", P), de.element(e).on("resize", x), h.$on("$destroy", N), void m.nextTick(function() {
                         var e;
                         e = function() {
                             var e, t;
-                            for (e = p; e.length && (t = e.attr("md-autocomplete-snap"), !ue.isDefined(t)); e = e.parent());
+                            for (e = p; e.length && (t = e.attr("md-autocomplete-snap"), !de.isDefined(t)); e = e.parent());
                             if (e.length) return {
                                 snap: e[0],
                                 wrap: "width" === t.toLowerCase() ? e[0] : p.find("md-autocomplete-wrap")[0]
@@ -27580,9 +27587,9 @@
                             root: document.body
                         }).li = b.ul.getElementsByTagName("li"), b.$ = function(e) {
                             var t = {};
-                            for (var n in e) e.hasOwnProperty(n) && (t[n] = ue.element(e[n]));
+                            for (var n in e) e.hasOwnProperty(n) && (t[n] = de.element(e[n]));
                             return t
                     });
 
                     function S() {
@@ -27591,7 +27598,7 @@
 
                     function D() {
                         if (!b) return m.nextTick(D, !1, h);
-                        var e, t = (h.dropdownItems || oe) * ie,
+                        var e, t = (h.dropdownItems || ae) * oe,
                             n = b.wrap.getBoundingClientRect(),
                             r = b.snap.getBoundingClientRect(),
                             i = b.root.getBoundingClientRect(),
@@ -27609,13 +27616,13 @@
                                 return e
                             }(),
                             u = h.dropdownPosition,
-                            d = i.bottom - r.bottom - ae + m.getViewportTop(),
-                            f = r.top - ae;
-                        u || (u = t < d ? "bottom" : t < f ? "top" : d < f ? "top" : "bottom"), g.mdFloatingLabel && (s += se, l -= 2 * se), e = {
+                            d = i.bottom - r.bottom - se + m.getViewportTop(),
+                            f = r.top - se;
+                        u || (u = t < d ? "bottom" : t < f ? "top" : d < f ? "top" : "bottom"), g.mdFloatingLabel && (s += le, l -= 2 * le), e = {
                             left: s + "px",
                             minWidth: l + "px",
-                            maxWidth: Math.max(n.right - i.left, i.right - n.left) - ae + "px"
-                        }, "top" === u ? (e.top = "auto", e.bottom = a + "px", e.maxHeight = Math.min(t, f) + "px") : (d = i.bottom - n.bottom - ae + m.getViewportTop(), e.top = o - c + "px", e.bottom = "auto", e.maxHeight = Math.min(t, d) + "px"), b.$.scrollContainer.css(e), m.nextTick(function() {
+                            maxWidth: Math.max(n.right - i.left, i.right - n.left) - se + "px"
+                        }, "top" === u ? (e.top = "auto", e.bottom = a + "px", e.maxHeight = Math.min(t, f) + "px") : (d = i.bottom - n.bottom - se + m.getViewportTop(), e.top = o - c + "px", e.bottom = "auto", e.maxHeight = Math.min(t, d) + "px"), b.$.scrollContainer.css(e), m.nextTick(function() {
                             var e = b.scrollContainer.getBoundingClientRect(),
                                 t = {};
                             e.right > i.right && (t.left = n.right - e.width + "px");
@@ -27628,116 +27635,120 @@
                     }
 
                     function N() {
-                        if (d.hidden || m.enableScrolling(), ue.element(e).off("resize", x), b) {
-                            ue.forEach(["ul", "scroller", "scrollContainer", "input"], function(e) {
+                        if (d.hidden || m.enableScrolling(), de.element(e).off("resize", x), b) {
+                            de.forEach(["ul", "scroller", "scrollContainer", "input"], function(e) {
                                 b.$[e].remove()
                             })
                         }
                     }
 
-                    function I() {
-                        w || d.hidden || b.input.focus(), _ = !1, d.hidden = q()
+                    function I(e) {
+                        d.hidden = !0
+                    }
+
+                    function R() {
+                        w || d.hidden || b.input.focus(), _ = !1, d.hidden = U()
                     }
 
-                    function R(r, i) {
-                        S(), r ? j(r).then(function(e) {
+                    function P(r, i) {
+                        S(), r ? L(r).then(function(e) {
                             var t, n;
                             h.searchText = e, t = r, n = i, $.forEach(function(e) {
                                 e(t, n)
                             })
-                        }) : i && h.searchText && j(i).then(function(e) {
-                            ue.isString(h.searchText) && e.toString().toLowerCase() === h.searchText.toLowerCase() && (h.searchText = "")
-                        }), r !== i && ue.isFunction(h.itemChange) && h.itemChange(L(h.selectedItem))
+                        }) : i && h.searchText && L(i).then(function(e) {
+                            de.isString(h.searchText) && e.toString().toLowerCase() === h.searchText.toLowerCase() && (h.searchText = "")
+                        }), r !== i && de.isFunction(h.itemChange) && h.itemChange(F(h.selectedItem))
                     }
 
-                    function P(t, n) {
-                        d.index = h.autoselect ? 0 : -1, t !== n && (S(), j(h.selectedItem).then(function(e) {
-                            t !== e && (h.selectedItem = null, t !== n && ue.isFunction(h.textChange) && h.textChange(), Y() ? te() : (F(!(d.matches = [])), X(!0, A.Count)))
+                    function H(t, n) {
+                        d.index = h.autoselect ? 0 : -1, t !== n && (S(), L(h.selectedItem).then(function(e) {
+                            t !== e && (h.selectedItem = null, t !== n && de.isFunction(h.textChange) && h.textChange(), G() ? ne() : (q(!(d.matches = [])), Q(!0, A.Count)))
                         }))
                     }
 
-                    function H() {
-                        return ue.isNumber(h.minLength) ? h.minLength : 1
+                    function j() {
+                        return de.isNumber(h.minLength) ? h.minLength : 1
                     }
 
-                    function j(e) {
-                        return s.when((t = e, (t && h.itemText ? h.itemText(L(t)) : null) || e)).then(function(e) {
-                            return e && !ue.isString(e) && o.warn("md-autocomplete: Could not resolve display value to a string. Please check the `md-item-text` attribute."), e
+                    function L(e) {
+                        return s.when((t = e, (t && h.itemText ? h.itemText(F(t)) : null) || e)).then(function(e) {
+                            return e && !de.isString(e) && o.warn("md-autocomplete: Could not resolve display value to a string. Please check the `md-item-text` attribute."), e
                         });
                         var t
                     }
 
-                    function L(e) {
-                        if (!e) return de;
+                    function F(e) {
+                        if (!e) return fe;
                         var t = {};
                         return d.itemName && (t[d.itemName] = e), t
                     }
 
-                    function F(e) {
-                        d.loading !== e && (d.loading = e), d.hidden = q()
+                    function q(e) {
+                        d.loading !== e && (d.loading = e), d.hidden = U()
                     }
 
-                    function q() {
+                    function U() {
                         return ! function() {
                             {
                                 if (d.isReadonly) return !1;
-                                if (!U()) return !1
+                                if (!V()) return !1
                             }
-                            return Y() && B() || ee()
+                            return G() && z() || te()
                         }()
                     }
 
-                    function U() {
-                        return !(d.loading && !B()) && (!z() && !!w)
+                    function V() {
+                        return !(d.loading && !z()) && (!W() && !!w)
                     }
 
-                    function V(e) {
+                    function B(e) {
                         return !h.escapeOptions || -1 !== h.escapeOptions.toLowerCase().indexOf(e)
                     }
 
-                    function B() {
+                    function z() {
                         return !!d.matches.length
                     }
 
-                    function z() {
+                    function W() {
                         return !!d.scope.selectedItem
                     }
 
-                    function W() {
-                        return j(d.matches[d.index])
+                    function Y() {
+                        return L(d.matches[d.index])
                     }
 
-                    function Y() {
-                        return (h.searchText || "").length >= H()
+                    function G() {
+                        return (h.searchText || "").length >= j()
                     }
 
-                    function G(e) {
+                    function K(e) {
                         m.nextTick(function() {
-                            j(d.matches[e]).then(function(e) {
+                            L(d.matches[e]).then(function(e) {
                                 var t = b.$.input.controller("ngModel");
                                 a.announce(e + " " + d.selectedMessage, "assertive"), t.$setViewValue(e), t.$render()
                             }).finally(function() {
-                                h.selectedItem = d.matches[e], F(!1)
+                                h.selectedItem = d.matches[e], q(!1)
                             })
                         }, !1)
                     }
 
-                    function K() {
+                    function Z() {
                         d.index = 0, d.matches = []
                     }
 
-                    function Z() {
-                        F(!0), h.searchText = "";
+                    function X() {
+                        q(!0), h.searchText = "";
                         var e = document.createEvent("CustomEvent");
                         e.initCustomEvent("change", !0, !0, {
                             value: ""
                         }), b.input.dispatchEvent(e), b.input.blur(), h.searchText = "", b.input.focus()
                     }
 
-                    function X(e, t) {
+                    function Q(e, t) {
                         var n = e ? "polite" : "assertive",
                             r = [];
-                        t & A.Selected && -1 !== d.index && r.push(W()), t & A.Count && r.push(s.resolve(function() {
+                        t & A.Selected && -1 !== d.index && r.push(Y()), t & A.Count && r.push(s.resolve(function() {
                             switch (d.matches.length) {
                                 case 0:
                                     return "There are no matches available.";
@@ -27751,50 +27762,50 @@
                         })
                     }
 
-                    function Q() {
+                    function J() {
                         var e, t, n, r, i, o, a, s, l, c;
-                        b.li[0] && (T === le ? (o = b.li[d.index] || b.li[0], a = b.scrollContainer.offsetHeight, s = o && o.offsetTop || 0, l = s + o.clientHeight, c = b.scrollContainer.scrollTop, s < c ? J(s) : c + a < l && J(l - a)) : (e = b.li[0].offsetHeight, t = e * d.index, n = t + e, r = b.scroller.clientHeight, i = b.scroller.scrollTop, t < i ? J(t) : i + r < n && J(n - r)))
+                        b.li[0] && (T === ce ? (o = b.li[d.index] || b.li[0], a = b.scrollContainer.offsetHeight, s = o && o.offsetTop || 0, l = s + o.clientHeight, c = b.scrollContainer.scrollTop, s < c ? ee(s) : c + a < l && ee(l - a)) : (e = b.li[0].offsetHeight, t = e * d.index, n = t + e, r = b.scroller.clientHeight, i = b.scroller.scrollTop, t < i ? ee(t) : i + r < n && ee(n - r)))
                     }
 
-                    function J(e) {
-                        T === le ? b.scrollContainer.scrollTop = e : b.$.scrollContainer.controller("mdVirtualRepeatContainer").scrollTo(e)
+                    function ee(e) {
+                        T === ce ? b.scrollContainer.scrollTop = e : b.$.scrollContainer.controller("mdVirtualRepeatContainer").scrollTo(e)
                     }
 
-                    function ee() {
+                    function te() {
                         var e = (d.scope.searchText || "").length;
-                        return d.hasNotFound && !B() && (!d.loading || 0 !== E) && e >= H() && (w || _) && !z()
+                        return d.hasNotFound && !z() && (!d.loading || 0 !== E) && e >= j() && (w || _) && !W()
                     }
 
-                    function te() {
+                    function ne() {
                         var e = h.searchText || "",
                             t = e.toLowerCase();
-                        !h.noCache && y[t] ? ne(y[t]) : function(t) {
+                        !h.noCache && y[t] ? re(y[t]) : function(t) {
                             var e = h.$parent.$eval(v),
                                 n = t.toLowerCase(),
-                                r = ue.isArray(e),
+                                r = de.isArray(e),
                                 i = !!e.then;
 
                             function o(e) {
-                                y[n] = e, (t || "") === (h.searchText || "") && ne(e)
+                                y[n] = e, (t || "") === (h.searchText || "") && re(e)
                             }
-                            r ? o(e) : i && (a = e, a && (a = s.when(a), E++, F(!0), m.nextTick(function() {
+                            r ? o(e) : i && (a = e, a && (a = s.when(a), E++, q(!0), m.nextTick(function() {
                                 a.then(o).finally(function() {
-                                    0 == --E && F(!1)
+                                    0 == --E && q(!1)
                                 })
                             }, !0, h)));
                             var a
-                        }(e), d.hidden = q()
+                        }(e), d.hidden = U()
                     }
 
-                    function ne(e) {
+                    function re(e) {
                         var n, t, r;
-                        d.matches = e, d.hidden = q(), d.loading && F(!1), h.selectOnMatch && (n = h.searchText, t = d.matches, r = t[0], 1 === t.length && j(r).then(function(e) {
+                        d.matches = e, d.hidden = U(), d.loading && q(!1), h.selectOnMatch && (n = h.searchText, t = d.matches, r = t[0], 1 === t.length && L(r).then(function(e) {
                             var t = n === e;
-                            h.matchInsensitive && !t && (t = n.toLowerCase() === e.toLowerCase()), t && G(0)
-                        })), D(), X(!0, A.Count)
+                            h.matchInsensitive && !t && (t = n.toLowerCase() === e.toLowerCase()), t && K(0)
+                        })), D(), Q(!0, A.Count)
                     }
 
-                    function re(e, t) {
+                    function ie(e, t) {
                         g[e] && h.$parent.$eval(g[e], t || {})
                     }
                 }
@@ -27851,7 +27862,9 @@
                                     null !== t && r.attr(e, t)
                                 }),
                                 function(e, t, n, r) {
-                                    r.hasNotFound = !!t.attr("md-has-not-found"), ue.isDefined(n.mdClearButton) || e.floatingLabel || (e.clearButton = !0), e.mdMode = d(n.mdMode)
+                                    r.hasNotFound = !!t.attr("md-has-not-found"), de.isDefined(n.mdClearButton) || e.floatingLabel || (e.clearButton = !0), e.mdMode = d(n.mdMode), t.on("click", function(e) {
+                                        e.stopPropagation()
+                                    })
                                 }
                         },
                         template: function(n, e) {
@@ -27875,7 +27888,7 @@
                         }
                     }
                 }
-                e.$inject = ["$$mdSvgRegistry"], ue.module("material.components.autocomplete").directive("mdAutocomplete", e)
+                e.$inject = ["$$mdSvgRegistry"], de.module("material.components.autocomplete").directive("mdAutocomplete", e)
             }(),
             function() {
                 function e(e, u) {
@@ -27909,13 +27922,13 @@
                         transclude: "element"
                     }
                 }
-                e.$inject = ["$compile", "$mdUtil"], ue.module("material.components.autocomplete").directive("mdAutocompleteParentScope", e)
+                e.$inject = ["$compile", "$mdUtil"], de.module("material.components.autocomplete").directive("mdAutocompleteParentScope", e)
             }(),
             function() {
                 function e(e, t, n) {
                     this.$scope = e, this.$element = t, this.$attrs = n, this.regex = null
                 }
-                e.$inject = ["$scope", "$element", "$attrs"], ue.module("material.components.autocomplete").controller("MdHighlightCtrl", e), e.prototype.init = function(t, n) {
+                e.$inject = ["$scope", "$element", "$attrs"], de.module("material.components.autocomplete").controller("MdHighlightCtrl", e), e.prototype.init = function(t, n) {
                     this.flags = this.$attrs.mdHighlightFlags || "", this.unregisterFn = this.$scope.$watch(function(e) {
                         return {
                             term: t(e),
@@ -27929,7 +27942,7 @@
                     var t = this.resolveTokens(e);
                     this.$element.empty(), t.forEach(function(e) {
                         if (e.isMatch) {
-                            var t = ue.element('<span class="highlight">').text(e.text);
+                            var t = de.element('<span class="highlight">').text(e.text);
                             this.$element.append(t)
                         } else this.$element.append(document.createTextNode(e))
                     }.bind(this))
@@ -27970,8 +27983,8 @@
                         }
                     }
                 }
-                e.$inject = ["$interpolate", "$parse"], ue.module("material.components.autocomplete").directive("mdHighlightText", e)
-            }(), ue.module("material.components.backdrop", ["material.core"]).directive("mdBackdrop", ["$mdTheming", "$mdUtil", "$animate", "$rootElement", "$window", "$log", "$$rAF", "$document", function(s, l, t, n, c, u, d, f) {
+                e.$inject = ["$interpolate", "$parse"], de.module("material.components.autocomplete").directive("mdHighlightText", e)
+            }(), de.module("material.components.backdrop", ["material.core"]).directive("mdBackdrop", ["$mdTheming", "$mdUtil", "$animate", "$rootElement", "$window", "$log", "$$rAF", "$document", function(s, l, t, n, c, u, d, f) {
                 return {
                     restrict: "E",
                     link: function(r, i, e) {
@@ -27986,8 +27999,8 @@
                                 var e = l.debounce(function() {
                                     o = c.getComputedStyle(f[0].body), a()
                                 }, 60, null, !1);
-                                a(), ue.element(c).on("resize", e), r.$on("$destroy", function() {
-                                    ue.element(c).off("resize", e)
+                                a(), de.element(c).on("resize", e), r.$on("$destroy", function() {
+                                    de.element(c).off("resize", e)
                                 })
                             }
                             var t = i.parent();
@@ -28060,7 +28073,7 @@
                                 }), o.inherit(f, n.parent), i.enter(f, n.parent, null));
                                 o.inherit(t, n.parent), n.disableParentScroll && (n.restoreScroll = s.disableScrollAround(t, n.parent));
                                 return i.enter(t, n.parent, f).then(function() {
-                                    var e = s.findFocusTarget(t) || ue.element(t[0].querySelector("button") || t[0].querySelector("a") || t[0].querySelector(s.prefixer("ng-click", !0))) || f;
+                                    var e = s.findFocusTarget(t) || de.element(t[0].querySelector("button") || t[0].querySelector("a") || t[0].querySelector(s.prefixer("ng-click", !0))) || f;
                                     n.escapeToClose && (n.rootElementKeyupCallback = function(e) {
                                         e.keyCode === a.KEY_CODE.ESCAPE && s.nextTick(l.cancel, !0)
                                     }, c.on("keyup", n.rootElementKeyupCallback), e && e.focus())
@@ -28080,7 +28093,7 @@
                         }
                     }
                 }
-                e.$inject = ["$mdBottomSheet"], t.$inject = ["$$interimElementProvider"], ue.module("material.components.bottomSheet", ["material.core", "material.components.backdrop"]).directive("mdBottomSheet", e).provider("$mdBottomSheet", t)
+                e.$inject = ["$mdBottomSheet"], t.$inject = ["$$interimElementProvider"], de.module("material.components.bottomSheet", ["material.core", "material.components.backdrop"]).directive("mdBottomSheet", e).provider("$mdBottomSheet", t)
             }(),
             function() {
                 function e(n) {
@@ -28105,7 +28118,7 @@
                             }
                         },
                         link: function(e, t, n) {
-                            i(t), r.attach(e, t), o.expectWithoutText(t, "aria-label"), s(n) && ue.isDefined(n.ngDisabled) && !t.hasClass("_md-nav-button") && e.$watch(n.ngDisabled, function(e) {
+                            i(t), r.attach(e, t), o.expectWithoutText(t, "aria-label"), s(n) && de.isDefined(n.ngDisabled) && !t.hasClass("_md-nav-button") && e.$watch(n.ngDisabled, function(e) {
                                 t.attr("tabindex", e ? -1 : 0)
                             });
                             t.on("click", function(e) {
@@ -28119,10 +28132,10 @@
                     };
 
                     function s(e) {
-                        return ue.isDefined(e.href) || ue.isDefined(e.ngHref) || ue.isDefined(e.ngLink) || ue.isDefined(e.uiSref)
+                        return de.isDefined(e.href) || de.isDefined(e.ngHref) || de.isDefined(e.ngLink) || de.isDefined(e.uiSref)
                     }
                 }
-                t.$inject = ["$mdButtonInkRipple", "$mdTheming", "$mdAria", "$mdInteraction"], e.$inject = ["$mdTheming"], ue.module("material.components.button", ["material.core"]).directive("mdButton", t).directive("a", e)
+                t.$inject = ["$mdButtonInkRipple", "$mdTheming", "$mdAria", "$mdInteraction"], e.$inject = ["$mdTheming"], de.module("material.components.button", ["material.core"]).directive("mdButton", t).directive("a", e)
             }(),
             function() {
                 function e(r) {
@@ -28133,7 +28146,7 @@
                         }
                     }
                 }
-                e.$inject = ["$mdTheming"], ue.module("material.components.card", ["material.core"]).directive("mdCard", e)
+                e.$inject = ["$mdTheming"], de.module("material.components.card", ["material.core"]).directive("mdCard", e)
             }(),
             function() {
                 function e(p, m, g, v, b, y) {
@@ -28181,7 +28194,7 @@
                                     }, n[o] && e.$watch(n[o], function(e) {
                                         s[e] && i.attr(a, s[e])
                                     }), m.expectWithText(i, "aria-label"), p.link.pre(e, {
-                                        on: ue.noop,
+                                        on: de.noop,
                                         0: {}
                                     }, n, [c]), i.on("click", f).on("keypress", function(e) {
                                         var t, n, r = e.which || e.keyCode;
@@ -28204,20 +28217,20 @@
                         }
                     }
                 }
-                e.$inject = ["inputDirective", "$mdAria", "$mdConstant", "$mdTheming", "$mdUtil", "$mdInteraction"], ue.module("material.components.checkbox", ["material.core"]).directive("mdCheckbox", e)
-            }(), ue.module("material.components.chips", ["material.core", "material.components.autocomplete"]),
+                e.$inject = ["inputDirective", "$mdAria", "$mdConstant", "$mdTheming", "$mdUtil", "$mdInteraction"], de.module("material.components.checkbox", ["material.core"]).directive("mdCheckbox", e)
+            }(), de.module("material.components.chips", ["material.core", "material.components.autocomplete"]),
             function() {
                 function e(e, t, n, r, i) {
-                    this.$scope = e, this.$element = t, this.$mdConstant = n, this.$timeout = r, this.$mdUtil = i, this.isEditing = !1, this.parentController = de, this.enableChipEdit = !1
+                    this.$scope = e, this.$element = t, this.$mdConstant = n, this.$timeout = r, this.$mdUtil = i, this.isEditing = !1, this.parentController = fe, this.enableChipEdit = !1
                 }
-                e.$inject = ["$scope", "$element", "$mdConstant", "$timeout", "$mdUtil"], ue.module("material.components.chips").controller("MdChipCtrl", e), e.prototype.init = function(e) {
+                e.$inject = ["$scope", "$element", "$mdConstant", "$timeout", "$mdUtil"], de.module("material.components.chips").controller("MdChipCtrl", e), e.prototype.init = function(e) {
                     this.parentController = e, this.enableChipEdit = this.parentController.enableChipEdit, this.enableChipEdit && (this.$element.on("keydown", this.chipKeyDown.bind(this)), this.$element.on("dblclick", this.chipMouseDoubleClick.bind(this)), this.getChipContent().addClass("_md-chip-content-edit-is-enabled"))
                 }, e.prototype.getChipContent = function() {
                     var e = this.$element[0].getElementsByClassName("md-chip-content");
-                    return ue.element(e[0])
+                    return de.element(e[0])
                 }, e.prototype.getContentElement = function() {
-                    var e = ue.element(this.getChipContent().children()[0]);
-                    return e && 0 !== e.length || (e = ue.element(this.getChipContent().contents()[0])), e
+                    var e = de.element(this.getChipContent().children()[0]);
+                    return e && 0 !== e.length || (e = de.element(this.getChipContent().contents()[0])), e
                 }, e.prototype.getChipIndex = function() {
                     return parseInt(this.$element.attr("index"))
                 }, e.prototype.goOutOfEditMode = function() {
@@ -28250,7 +28263,7 @@
                         link: function(e, t, n, r) {
                             var i = r.shift(),
                                 o = r.shift(),
-                                a = ue.element(t[0].querySelector(".md-chip-content"));
+                                a = de.element(t[0].querySelector(".md-chip-content"));
                             s(t), i && (o.init(i), a.on("blur", function() {
                                 i.resetSelectedChip(), i.$scope.$applyAsync()
                             }));
@@ -28261,7 +28274,7 @@
                         controller: "MdChipCtrl"
                     }
                 }
-                e.$inject = ["$mdTheming", "$mdUtil", "$compile", "$timeout"], ue.module("material.components.chips").directive("mdChip", e)
+                e.$inject = ["$mdTheming", "$mdUtil", "$compile", "$timeout"], de.module("material.components.chips").directive("mdChip", e)
             }(),
             function() {
                 function e(i) {
@@ -28283,7 +28296,7 @@
                         }
                     }
                 }
-                e.$inject = ["$timeout"], ue.module("material.components.chips").directive("mdChipRemove", e)
+                e.$inject = ["$timeout"], de.module("material.components.chips").directive("mdChipRemove", e)
             }(),
             function() {
                 function e(a) {
@@ -28300,7 +28313,7 @@
                         scope: !1
                     }
                 }
-                e.$inject = ["$compile"], ue.module("material.components.chips").directive("mdChipTransclude", e)
+                e.$inject = ["$compile"], de.module("material.components.chips").directive("mdChipTransclude", e)
             }(),
             function() {
                 e.$inject = ["$scope", "$attrs", "$mdConstant", "$log", "$element", "$timeout", "$mdUtil", "$mdLiveAnnouncer", "$exceptionHandler"];
@@ -28309,7 +28322,7 @@
                 function e(e, t, n, r, i, o, a, s, l) {
                     this.$timeout = o, this.$mdConstant = n, this.$scope = e, this.parent = e.$parent, this.$mdUtil = a, this.$log = r, this.$mdLiveAnnouncer = s, this.$exceptionHandler = l, this.$element = i, this.$attrs = t, this.ngModelCtrl = null, this.userInputNgModelCtrl = null, this.autocompleteCtrl = null, this.userInputElement = null, this.items = [], this.selectedChip = -1, this.enableChipEdit = a.parseAttributeBoolean(t.mdEnableChipEdit), this.addOnBlur = a.parseAttributeBoolean(t.mdAddOnBlur), this.inputAriaLabel = "Chips input.", this.containerHint = "Chips container. Use arrow keys to select chips.", this.containerEmptyHint = "Chips container. Enter the text area, then type text, and press enter to add a chip.", this.deleteHint = "Press delete to remove this chip.", this.deleteButtonLabel = "Remove", this.chipBuffer = "", this.useTransformChip = !1, this.useOnAdd = !1, this.useOnRemove = !1, this.wrapperId = "", this.contentIds = [], this.ariaTabIndex = null, this.chipAppendDelay = c, this.deRegister = [], this.addedMessage = "added", this.removedMessage = "removed", this.init()
                 }
-                ue.module("material.components.chips").controller("MdChipsCtrl", e), e.prototype.init = function() {
+                de.module("material.components.chips").controller("MdChipsCtrl", e), e.prototype.init = function() {
                     var t = this;
                     this.wrapperId = "_md-chips-wrapper-" + this.$mdUtil.nextUid(), this.$element.attr("ng-model") || this.setupStaticChips(), this.deRegister.push(this.$scope.$watchCollection("$mdChipsCtrl.items", function() {
                         t.setupInputAria(), t.setupWrapperAria()
@@ -28358,9 +28371,9 @@
                 }, e.prototype.isEditingChip = function() {
                     return !!this.$element[0].querySelector("._md-chip-editing")
                 }, e.prototype._isChipObject = function(e) {
-                    return ue.isObject(e)
+                    return de.isObject(e)
                 }, e.prototype.isRemovable = function() {
-                    return !!this.ngModelCtrl && (this.readonly ? this.removable : !ue.isDefined(this.removable) || this.removable)
+                    return !!this.ngModelCtrl && (this.readonly ? this.removable : !de.isDefined(this.removable) || this.removable)
                 }, e.prototype.chipKeydown = function(e) {
                     if (!this.getChipBuffer() && !this.isEditingChip()) switch (e.keyCode) {
                         case this.$mdConstant.KEY_CODE.BACKSPACE:
@@ -28401,15 +28414,15 @@
                         var e = this.transformChip({
                             $chip: t
                         });
-                        ue.isDefined(e) && (t = e)
+                        de.isDefined(e) && (t = e)
                     }
-                    if (ue.isObject(t) && this.items.some(function(e) {
-                            return ue.equals(t, e)
+                    if (de.isObject(t) && this.items.some(function(e) {
+                            return de.equals(t, e)
                         })) return;
                     if (!(null == t || this.items.indexOf(t) + 1)) {
                         var n = this.items.push(t) - 1;
                         this.updateNgModel();
-                        var r = ue.isObject(t) ? "" : t;
+                        var r = de.isObject(t) ? "" : t;
                         this.$mdLiveAnnouncer.announce(r + " " + this.addedMessage, "assertive"), this.useOnAdd && this.onAdd && this.onAdd({
                             $chip: t,
                             $index: n
@@ -28425,15 +28438,15 @@
                     this.useOnSelect = !0
                 }, e.prototype.getChipBuffer = function() {
                     var e = this.userInputElement ? this.userInputNgModelCtrl ? this.userInputNgModelCtrl.$viewValue : this.userInputElement[0].value : this.chipBuffer;
-                    return ue.isString(e) ? e : ""
+                    return de.isString(e) ? e : ""
                 }, e.prototype.resetChipBuffer = function() {
                     this.userInputElement ? this.userInputNgModelCtrl ? (this.userInputNgModelCtrl.$setViewValue(""), this.userInputNgModelCtrl.$render()) : this.userInputElement[0].value = "" : this.chipBuffer = ""
                 }, e.prototype.hasMaxChipsReached = function() {
-                    return ue.isString(this.maxChips) && (this.maxChips = parseInt(this.maxChips, 10) || 0), 0 < this.maxChips && this.items.length >= this.maxChips
+                    return de.isString(this.maxChips) && (this.maxChips = parseInt(this.maxChips, 10) || 0), 0 < this.maxChips && this.items.length >= this.maxChips
                 }, e.prototype.validateModel = function() {
                     this.ngModelCtrl.$setValidity("md-max-chips", !this.hasMaxChipsReached()), this.ngModelCtrl.$validate()
                 }, e.prototype.updateNgModel = function(e) {
-                    e || this.validateModel(), ue.forEach(this.ngModelCtrl.$viewChangeListeners, function(e) {
+                    e || this.validateModel(), de.forEach(this.ngModelCtrl.$viewChangeListeners, function(e) {
                         try {
                             e()
                         } catch (e) {
@@ -28443,7 +28456,7 @@
                 }, e.prototype.removeChip = function(e, t) {
                     var n = this.items.splice(e, 1);
                     this.updateNgModel(), this.ngModelCtrl.$setDirty();
-                    var r = ue.isObject(n[0]) ? "" : n[0];
+                    var r = de.isObject(n[0]) ? "" : n[0];
                     this.$mdLiveAnnouncer.announce(r + " " + this.removedMessage, "assertive"), n && n.length && this.useOnRemove && this.onRemove && this.onRemove({
                         $chip: n[0],
                         $index: e,
@@ -28507,7 +28520,7 @@
                     var n = this.$scope,
                         r = this,
                         i = function(e, t) {
-                            n.$evalAsync(ue.bind(r, t, e))
+                            n.$evalAsync(de.bind(r, t, e))
                         };
                     e.attr({
                         tabindex: 0
@@ -28519,12 +28532,12 @@
                         i(e, r.onInputBlur)
                     })
                 }, e.prototype.configureAutocomplete = function(e) {
-                    e && (this.autocompleteCtrl = e, this.$element.attr("container-empty-hint") || (this.containerEmptyHint = "Chips container with autocompletion. Enter the text area, type text to search, and then use the up and down arrow keys to select an option. Press enter to add the selected option as a chip.", this.setupWrapperAria()), e.registerSelectedItemWatcher(ue.bind(this, function(e) {
+                    e && (this.autocompleteCtrl = e, this.$element.attr("container-empty-hint") || (this.containerEmptyHint = "Chips container with autocompletion. Enter the text area, type text to search, and then use the up and down arrow keys to select an option. Press enter to add the selected option as a chip.", this.setupWrapperAria()), e.registerSelectedItemWatcher(de.bind(this, function(e) {
                         if (e) {
                             if (this.hasMaxChipsReached()) return;
                             this.appendChip(e), this.resetChipBuffer()
                         }
-                    })), this.$element.find("input").on("focus", ue.bind(this, this.onInputFocus)).on("blur", ue.bind(this, this.onInputBlur)))
+                    })), this.$element.find("input").on("focus", de.bind(this, this.onInputFocus)).on("blur", de.bind(this, this.onInputBlur)))
                 }, e.prototype.shouldAddOnBlur = function() {
                     this.validateModel();
                     var e = this.getChipBuffer().trim(),
@@ -28538,7 +28551,7 @@
                 }
             }(),
             function() {
-                r.$inject = ["$mdTheming", "$mdUtil", "$compile", "$log", "$timeout", "$$mdSvgRegistry"], ue.module("material.components.chips").directive("mdChips", r);
+                r.$inject = ["$mdTheming", "$mdUtil", "$compile", "$log", "$timeout", "$$mdSvgRegistry"], de.module("material.components.chips").directive("mdChips", r);
                 var e = '      <md-chips-wrap          id="{{$mdChipsCtrl.wrapperId}}"          tabindex="{{$mdChipsCtrl.readonly ? 0 : -1}}"          ng-keydown="$mdChipsCtrl.chipKeydown($event)"          ng-class="{ \'md-focused\': $mdChipsCtrl.hasFocus(),                       \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly,                      \'md-removable\': $mdChipsCtrl.isRemovable() }"          class="md-chips">        <md-chip ng-repeat="$chip in $mdChipsCtrl.items"            index="{{$index}}"             ng-class="{\'md-focused\': $mdChipsCtrl.selectedChip == $index, \'md-readonly\': !$mdChipsCtrl.ngModelCtrl || $mdChipsCtrl.readonly}">          <div class="md-chip-content"              tabindex="{{$mdChipsCtrl.ariaTabIndex === $index ? 0 : -1}}"              id="{{$mdChipsCtrl.contentIdFor($index)}}"              role="option"              aria-selected="{{$mdChipsCtrl.selectedChip === $index}}"              aria-setsize="{{$mdChipsCtrl.items.length}}"              aria-posinset="{{$index+1}}"              ng-click="!$mdChipsCtrl.readonly && $mdChipsCtrl.focusChip($index)"              aria-label="{{$mdChipsCtrl._isChipObject($chip) ? \'\' : $chip + \'. \'}}{{$mdChipsCtrl.isRemovable() ? \'\' + $mdChipsCtrl.deleteHint : \'\'}}"               ng-focus="!$mdChipsCtrl.readonly && $mdChipsCtrl.selectChip($index)"              md-chip-transclude="$mdChipsCtrl.chipContentsTemplate"></div>          <div ng-if="$mdChipsCtrl.isRemovable()"               class="md-chip-remove-container"               tabindex="-1"               md-chip-transclude="$mdChipsCtrl.chipRemoveTemplate"></div>        </md-chip>        <div class="md-chip-input-container" ng-if="!$mdChipsCtrl.readonly && $mdChipsCtrl.ngModelCtrl">          <div md-chip-transclude="$mdChipsCtrl.chipInputTemplate"></div>        </div>      </md-chips-wrap>',
                     t = '        <input            class="md-input"            tabindex="0"            aria-label="{{$mdChipsCtrl.inputAriaLabel}}"            placeholder="{{$mdChipsCtrl.getPlaceholder()}}"            ng-model="$mdChipsCtrl.chipBuffer"            ng-focus="$mdChipsCtrl.onInputFocus()"            ng-blur="$mdChipsCtrl.onInputBlur()"            ng-keydown="$mdChipsCtrl.inputKeydown($event)">',
                     n = "      <span>{{$chip}}</span>",
@@ -28638,7 +28651,7 @@
                 function e(e, t, n) {
                     this.$element = t, this.$attrs = e, this.$timeout = n, this.selectedItem = null, this.searchText = "", this.deRegister = [], this.init()
                 }
-                e.$inject = ["$attrs", "$element", "$timeout"], ue.module("material.components.chips").controller("MdContactChipsCtrl", e), e.prototype.init = function() {
+                e.$inject = ["$attrs", "$element", "$timeout"], de.module("material.components.chips").controller("MdContactChipsCtrl", e), e.prototype.init = function() {
                     var e = this,
                         t = this.deRegister,
                         n = this.$element;
@@ -28661,7 +28674,7 @@
                 }, e.prototype.inputKeydown = function(e) {
                     if (this.separatorKeys && !(this.separatorKeys.indexOf(e.keyCode) < 0)) {
                         e.stopPropagation(), e.preventDefault();
-                        var t = ue.element(e.target).controller("mdAutocomplete");
+                        var t = de.element(e.target).controller("mdAutocomplete");
                         t.select(t.index)
                     }
                 }, e.prototype.itemName = function(e) {
@@ -28671,7 +28684,7 @@
                 }
             }(),
             function() {
-                e.$inject = ["$mdTheming", "$mdUtil"], ue.module("material.components.chips").directive("mdContactChips", e);
+                e.$inject = ["$mdTheming", "$mdUtil"], de.module("material.components.chips").directive("mdContactChips", e);
                 var n = '      <md-chips class="md-contact-chips"          ng-model="$mdContactChipsCtrl.contacts"          ng-change="$mdContactChipsCtrl.ngChange($mdContactChipsCtrl.contacts)"          md-require-match="$mdContactChipsCtrl.requireMatch"          md-chip-append-delay="{{$mdContactChipsCtrl.chipAppendDelay}}"          md-separator-keys="$mdContactChipsCtrl.separatorKeys"          md-autocomplete-snap>          <md-autocomplete              md-menu-class="md-contact-chips-suggestions"              md-selected-item="$mdContactChipsCtrl.selectedItem"              md-search-text="$mdContactChipsCtrl.searchText"              md-items="item in $mdContactChipsCtrl.queryContact($mdContactChipsCtrl.searchText)"              md-item-text="$mdContactChipsCtrl.itemName(item)"              md-no-cache="true"              md-min-length="$mdContactChipsCtrl.minLength"              md-autoselect              ng-keydown="$mdContactChipsCtrl.inputKeydown($event)"              placeholder="{{$mdContactChipsCtrl.contacts.length === 0 ?                  $mdContactChipsCtrl.placeholder : $mdContactChipsCtrl.secondaryPlaceholder}}">            <div class="md-contact-suggestion">              <img                   ng-src="{{item[$mdContactChipsCtrl.contactImage]}}"                  alt="{{item[$mdContactChipsCtrl.contactName]}}"                  ng-if="item[$mdContactChipsCtrl.contactImage]" />              <span class="md-contact-name" md-highlight-text="$mdContactChipsCtrl.searchText"                    md-highlight-flags="{{$mdContactChipsCtrl.highlightFlags}}">                {{item[$mdContactChipsCtrl.contactName]}}              </span>              <span class="md-contact-email" >{{item[$mdContactChipsCtrl.contactEmail]}}</span>            </div>          </md-autocomplete>          <md-chip-template>            <div class="md-contact-avatar">              <img                   ng-src="{{$chip[$mdContactChipsCtrl.contactImage]}}"                  alt="{{$chip[$mdContactChipsCtrl.contactName]}}"                  ng-if="$chip[$mdContactChipsCtrl.contactImage]" />            </div>            <div class="md-contact-name">              {{$chip[$mdContactChipsCtrl.contactName]}}            </div>          </md-chip-template>      </md-chips>';
 
                 function e(a, s) {
@@ -28725,7 +28738,7 @@
                     return c = c || Object.keys(o.PALETTES), {
                         applyThemeColors: function(e, t) {
                             try {
-                                t && e.css((i = {}, o = (n = t).hasOwnProperty("color"), ue.forEach(n, function(e, t) {
+                                t && e.css((i = {}, o = (n = t).hasOwnProperty("color"), de.forEach(n, function(e, t) {
                                     var n = l(e),
                                         r = -1 < t.indexOf("background");
                                     i[t] = s(n), r && !o && (i.color = s(n, !0))
@@ -28739,7 +28752,7 @@
                             return s(l(e))
                         },
                         hasTheme: function(e) {
-                            return ue.isDefined(o.THEMES[e.split("-")[0]])
+                            return de.isDefined(o.THEMES[e.split("-")[0]])
                         }
                     };
 
@@ -28751,7 +28764,7 @@
 
                     function l(e) {
                         var t = e.split("-"),
-                            n = ue.isDefined(o.THEMES[t[0]]) ? t.splice(0, 1)[0] : o.defaultTheme();
+                            n = de.isDefined(o.THEMES[t[0]]) ? t.splice(0, 1)[0] : o.defaultTheme();
                         return {
                             theme: n,
                             palette: function(e, t) {
@@ -28794,7 +28807,7 @@
                                     t = -1 < e.indexOf("::"),
                                     n = !!t || a.test(i.mdColors);
                                 i.mdColors = e.replace("::", "");
-                                var r = ue.isDefined(i.mdColorsWatch);
+                                var r = de.isDefined(i.mdColorsWatch);
                                 return !t && !n && (!r || o.parseAttributeBoolean(i.mdColorsWatch))
                             }();
                             return function(e, n, t, r) {
@@ -28809,7 +28822,7 @@
                                         }), s(r), r
                                     },
                                     s = function(e) {
-                                        if (!ue.equals(e, o)) {
+                                        if (!de.equals(e, o)) {
                                             var t = Object.keys(o);
                                             o.background && !t.color && t.push("color"), t.forEach(function(e) {
                                                 n.css(e, "")
@@ -28817,14 +28830,14 @@
                                         }
                                         o = e
                                     },
-                                    l = ue.noop;
+                                    l = de.noop;
                                 i && (l = i.registerChanges(function(e) {
                                     u.applyThemeColors(n, a(e))
                                 })), e.$on("$destroy", function() {
                                     l()
                                 });
                                 try {
-                                    c ? e.$watch(a, ue.bind(this, u.applyThemeColors, n), !0) : u.applyThemeColors(n, a())
+                                    c ? e.$watch(a, de.bind(this, u.applyThemeColors, n), !0) : u.applyThemeColors(n, a())
                                 } catch (e) {
                                     d.error(e.message)
                                 }
@@ -28832,7 +28845,7 @@
                         }
                     }
                 }
-                ue.module("material.components.colors", ["material.core"]).directive("mdColors", t).service("$mdColors", e)
+                de.module("material.components.colors", ["material.core"]).directive("mdColors", t).service("$mdColors", e)
             }(),
             function() {
                 function e(r) {
@@ -28843,16 +28856,16 @@
                         }],
                         link: function(e, t) {
                             var n;
-                            t.addClass("_md"), r(t), e.$broadcast("$mdContentLoaded", t), n = t[0], ue.element(n).on("$md.pressdown", function(e) {
+                            t.addClass("_md"), r(t), e.$broadcast("$mdContentLoaded", t), n = t[0], de.element(n).on("$md.pressdown", function(e) {
                                 "t" === e.pointer.type && (e.$materialScrollFixed || (e.$materialScrollFixed = !0, 0 === n.scrollTop ? n.scrollTop = 1 : n.scrollHeight === n.scrollTop + n.offsetHeight && (n.scrollTop -= 1)))
                             })
                         }
                     }
                 }
-                e.$inject = ["$mdTheming"], ue.module("material.components.content", ["material.core"]).directive("mdContent", e)
-            }(), ue.module("material.components.datepicker", ["material.core", "material.components.icon", "material.components.virtualRepeat"]),
+                e.$inject = ["$mdTheming"], de.module("material.components.content", ["material.core"]).directive("mdContent", e)
+            }(), de.module("material.components.datepicker", ["material.core", "material.components.icon", "material.components.virtualRepeat"]),
             function() {
-                e.$inject = ["$element", "$scope", "$$mdDateUtil", "$mdUtil", "$mdConstant", "$mdTheming", "$$rAF", "$attrs", "$mdDateLocale"], ue.module("material.components.datepicker").directive("mdCalendar", function() {
+                e.$inject = ["$element", "$scope", "$$mdDateUtil", "$mdUtil", "$mdConstant", "$mdTheming", "$$rAF", "$attrs", "$mdDateLocale"], de.module("material.components.datepicker").directive("mdCalendar", function() {
                     return {
                         template: function(e, t) {
                             var n = t.hasOwnProperty("ngIf") ? "" : 'ng-if="calendarCtrl.isInitialized"',
@@ -28885,10 +28898,10 @@
 
                 function e(e, t, n, r, i, o, a, s, l) {
                     o(e), this.$element = e, this.$scope = t, this.dateUtil = n, this.$mdUtil = r, this.keyCode = i.KEY_CODE, this.$$rAF = a, this.$mdDateLocale = l, this.today = this.dateUtil.createDateAtMidnight(), this.ngModelCtrl = null, this.SELECTED_DATE_CLASS = "md-calendar-selected-date", this.TODAY_CLASS = "md-calendar-date-today", this.FOCUSED_DATE_CLASS = "md-focus", this.id = d++, this.displayDate = null, this.selectedDate = null, this.firstRenderableDate = null, this.lastRenderableDate = null, this.isInitialized = !1, this.width = 0, this.scrollbarWidth = 0, s.tabindex || e.attr("tabindex", "-1");
-                    var c, u = ue.bind(this, this.handleKeyEvent);
-                    (c = e.parent().hasClass("md-datepicker-calendar") ? ue.element(document.body) : e).on("keydown", u), t.$on("$destroy", function() {
+                    var c, u = de.bind(this, this.handleKeyEvent);
+                    (c = e.parent().hasClass("md-datepicker-calendar") ? de.element(document.body) : e).on("keydown", u), t.$on("$destroy", function() {
                         c.off("keydown", u)
-                    }), 1 === ue.version.major && ue.version.minor <= 4 && this.$onInit()
+                    }), 1 === de.version.major && de.version.minor <= 4 && this.$onInit()
                 }
                 e.prototype.$onInit = function() {
                     this._mode && t.hasOwnProperty(this._mode) ? (this.currentView = t[this._mode], this.mode = this._mode) : (this.currentView = this._currentView || "month", this.mode = null);
@@ -28908,7 +28921,7 @@
                 }, e.prototype.setCurrentView = function(e, t) {
                     var n = this;
                     n.$mdUtil.nextTick(function() {
-                        n.currentView = e, t && (n.displayDate = ue.isDate(t) ? t : new Date(t))
+                        n.currentView = e, t && (n.displayDate = de.isDate(t) ? t : new Date(t))
                     })
                 }, e.prototype.focus = function(e) {
                     if (this.dateUtil.isValidDate(e)) {
@@ -28986,7 +28999,7 @@
                 }
             }(),
             function() {
-                t.$inject = ["$element", "$scope", "$animate", "$q", "$$mdDateUtil", "$mdDateLocale"], ue.module("material.components.datepicker").directive("mdCalendarMonth", function() {
+                t.$inject = ["$element", "$scope", "$animate", "$q", "$$mdDateUtil", "$mdDateLocale"], de.module("material.components.datepicker").directive("mdCalendarMonth", function() {
                     return {
                         require: ["^^mdCalendar", "mdCalendarMonth"],
@@ -29048,7 +29061,7 @@
                     var n = this;
                     n.$scope.$on("md-calendar-parent-changed", function(e, t) {
                         n.calendarCtrl.changeSelectedDate(t), n.changeDisplayDate(t)
-                    }), n.$scope.$on("md-calendar-parent-action", ue.bind(this, this.handleKeyEvent))
+                    }), n.$scope.$on("md-calendar-parent-action", de.bind(this, this.handleKeyEvent))
                 }, t.prototype.handleKeyEvent = function(e, t) {
                     var n = this.calendarCtrl,
                         r = n.displayDate;
@@ -29105,7 +29118,7 @@
                             a.calendarCtrl = i, a.monthCtrl = o, a.arrowIcon = s.cloneNode(!0), e.$watch(function() {
                                 return a.offset
                             }, function(e) {
-                                ue.isNumber(e) && a.generateContent()
+                                de.isNumber(e) && a.generateContent()
                             })
                         }
                     }
@@ -29114,7 +29127,7 @@
                 function n(e, t, n) {
                     this.$element = e, this.dateUtil = t, this.dateLocale = n, this.monthCtrl = null, this.calendarCtrl = null, this.offset = null, this.focusAfterAppend = null
                 }
-                e.$inject = ["$compile", "$$mdSvgRegistry"], n.$inject = ["$element", "$$mdDateUtil", "$mdDateLocale"], ue.module("material.components.datepicker").directive("mdCalendarMonthBody", e), n.prototype.generateContent = function() {
+                e.$inject = ["$compile", "$$mdSvgRegistry"], n.$inject = ["$element", "$$mdDateUtil", "$mdDateLocale"], de.module("material.components.datepicker").directive("mdCalendarMonthBody", e), n.prototype.generateContent = function() {
                     var e = this.dateUtil.incrementMonths(this.calendarCtrl.firstRenderableDate, this.offset);
                     this.$element.empty().append(this.buildCalendarForMonth(e)), this.focusAfterAppend && (this.focusAfterAppend.classList.add(this.calendarCtrl.FOCUSED_DATE_CLASS), this.focusAfterAppend.focus(), this.focusAfterAppend = null)
                 }, n.prototype.buildDateCell = function(e) {
@@ -29131,7 +29144,7 @@
                     }
                     return r
                 }, n.prototype.isDateEnabled = function(e) {
-                    return this.dateUtil.isDateWithinRange(e, this.calendarCtrl.minDate, this.calendarCtrl.maxDate) && (!ue.isFunction(this.calendarCtrl.dateFilter) || this.calendarCtrl.dateFilter(e))
+                    return this.dateUtil.isDateWithinRange(e, this.calendarCtrl.minDate, this.calendarCtrl.maxDate) && (!de.isFunction(this.calendarCtrl.dateFilter) || this.calendarCtrl.dateFilter(e))
                 }, n.prototype.buildDateRow = function(e) {
                     var t = document.createElement("tr");
                     return t.setAttribute("role", "row"), t.setAttribute("aria-label", this.dateLocale.weekNumberFormatter(e)), t
@@ -29175,7 +29188,7 @@
                 }
             }(),
             function() {
-                e.$inject = ["$element", "$scope", "$animate", "$q", "$$mdDateUtil", "$mdUtil"], ue.module("material.components.datepicker").directive("mdCalendarYear", function() {
+                e.$inject = ["$element", "$scope", "$animate", "$q", "$$mdDateUtil", "$mdUtil"], de.module("material.components.datepicker").directive("mdCalendarYear", function() {
                     return {
                         require: ["^^mdCalendar", "mdCalendarYear"],
@@ -29255,7 +29268,7 @@
                     var n = this;
                     n.$scope.$on("md-calendar-parent-changed", function(e, t) {
                         n.calendarCtrl.changeSelectedDate(t ? n.dateUtil.getFirstDateOfMonth(t) : t), n.changeDate(t)
-                    }), n.$scope.$on("md-calendar-parent-action", ue.bind(n, n.handleKeyEvent))
+                    }), n.$scope.$on("md-calendar-parent-action", de.bind(n, n.handleKeyEvent))
                 }, e.prototype.onTimestampSelected = function(e) {
                     var t = this.calendarCtrl;
                     t.mode ? this.$mdUtil.nextTick(function() {
@@ -29267,7 +29280,7 @@
                 function e(e, t, n) {
                     this.$element = e, this.dateUtil = t, this.dateLocale = n, this.calendarCtrl = null, this.yearCtrl = null, this.offset = null, this.focusAfterAppend = null
                 }
-                e.$inject = ["$element", "$$mdDateUtil", "$mdDateLocale"], ue.module("material.components.datepicker").directive("mdCalendarYearBody", function() {
+                e.$inject = ["$element", "$$mdDateUtil", "$mdDateLocale"], de.module("material.components.datepicker").directive("mdCalendarYearBody", function() {
                     return {
                         require: ["^^mdCalendar", "^^mdCalendarYear", "mdCalendarYearBody"],
                         scope: {
@@ -29283,7 +29296,7 @@
                             a.calendarCtrl = i, a.yearCtrl = o, e.$watch(function() {
                                 return a.offset
                             }, function(e) {
-                                ue.isNumber(e) && a.generateContent()
+                                de.isNumber(e) && a.generateContent()
                             })
                         }
                     }
@@ -29297,7 +29310,7 @@
                         o = new Date(e, t, 1);
                     i.setAttribute("aria-label", this.dateLocale.monthFormatter(o)), i.id = n.getDateId(o, "year"), i.setAttribute("data-timestamp", String(o.getTime())), this.dateUtil.isSameMonthAndYear(o, n.today) && i.classList.add(n.TODAY_CLASS), this.dateUtil.isValidDate(n.selectedDate) && this.dateUtil.isSameMonthAndYear(o, n.selectedDate) && (i.classList.add(n.SELECTED_DATE_CLASS), i.setAttribute("aria-selected", "true"));
                     var a = this.dateLocale.shortMonths[t];
-                    if (!this.dateUtil.isMonthWithinRange(o, n.minDate, n.maxDate) || ue.isFunction(this.calendarCtrl.dateFilter) && !this.calendarCtrl.dateFilter(o)) i.classList.add("md-calendar-date-disabled"), i.textContent = a;
+                    if (!this.dateUtil.isMonthWithinRange(o, n.minDate, n.maxDate) || de.isFunction(this.calendarCtrl.dateFilter) && !this.calendarCtrl.dateFilter(o)) i.classList.add("md-calendar-date-disabled"), i.textContent = a;
                     else {
                         var s = document.createElement("span");
                         s.classList.add("md-calendar-date-selection-indicator"), s.textContent = a, i.appendChild(s), i.addEventListener("click", r.cellClickHandler), n.displayDate && this.dateUtil.isSameMonthAndYear(o, n.displayDate) && (this.focusAfterAppend = i)
@@ -29317,7 +29330,7 @@
                     for (a.appendChild(this.buildBlankCell()), t = 6; t < 12; t++) a.appendChild(this.buildMonthCell(n, t));
                     return r.appendChild(a), r
                 }
-            }(), ue.module("material.components.datepicker").config(["$provide", function(e) {
+            }(), de.module("material.components.datepicker").config(["$provide", function(e) {
                 function t() {
                     this.months = null, this.shortMonths = null, this.days = null, this.shortDays = null, this.dates = null, this.firstDayOfWeek = 0, this.formatDate = null, this.parseDate = null, this.monthHeaderFormatter = null, this.weekNumberFormatter = null, this.longDateFormatter = null, this.isDateComplete = null, this.msgCalendar = "", this.msgOpenCalendar = ""
                 }(t.prototype.$get = function(e, i) {
@@ -29364,7 +29377,7 @@
                         };
                     return s
                 }).$inject = ["$locale", "$filter"], e.provider("$mdDateLocale", new t)
-            }]), ue.module("material.components.datepicker").factory("$$mdDateUtil", function() {
+            }]), de.module("material.components.datepicker").factory("$$mdDateUtil", function() {
                 return {
                     getFirstDateOfMonth: n,
                     getNumberOfDaysInMonth: i,
@@ -29463,7 +29476,7 @@
 
                 function u(e) {
                     var t;
-                    return c(t = ue.isUndefined(e) ? new Date : new Date(e)), t
+                    return c(t = de.isUndefined(e) ? new Date : new Date(e)), t
                 }
             }),
             function() {
@@ -29474,7 +29487,7 @@
                                 r = t.ariaLabel || t.mdPlaceholder,
                                 i = "all" === n || "calendar" === n ? "" : '<md-button class="md-datepicker-button md-icon-button" type="button" tabindex="-1" aria-hidden="true" ng-click="ctrl.openCalendarPane($event)"><md-icon class="md-datepicker-calendar-icon" aria-label="md-calendar" md-svg-src="' + a.mdCalendar + '"></md-icon></md-button>',
                                 o = "";
                         },
                         require: ["ngModel", "mdDatepicker", "?^mdInputContainer", "?^form"],
                         scope: {
@@ -29499,7 +29512,7 @@
                                 l = d.parseAttributeBoolean(n.mdNoAsterisk);
                             if (o.configureNgModel(i, a, h), a) {
                                 var c = t[0].querySelector(".md-errors-spacer");
-                                c && t.after(ue.element("<div>").append(c)), a.setHasPlaceholder(n.mdPlaceholder), a.input = t, a.element.addClass(p).toggleClass(m, "calendar" !== n.mdHideIcons && "all" !== n.mdHideIcons), a.label ? l || n.$observe("required", function(e) {
+                                c && t.after(de.element("<div>").append(c)), a.setHasPlaceholder(n.mdPlaceholder), a.input = t, a.element.addClass(p).toggleClass(m, "calendar" !== n.mdHideIcons && "all" !== n.mdHideIcons), a.label ? l || n.$observe("required", function(e) {
                                     a.label.toggleClass("md-required", !!e)
                                 }) : f.expect(t, "aria-label", n.mdPlaceholder), e.$watch(a.isErrorGetter || function() {
                                     return i.$invalid && (i.$touched || s && s.$submitted)
@@ -29512,7 +29525,7 @@
                         }
                     }
                 }
-                t.$inject = ["$scope", "$element", "$attrs", "$window", "$mdConstant", "$mdTheming", "$mdUtil", "$mdDateLocale", "$$mdDateUtil", "$$rAF", "$filter", "$timeout"], e.$inject = ["$$mdSvgRegistry", "$mdUtil", "$mdAria", "inputDirective"], ue.module("material.components.datepicker").directive("mdDatepicker", e);
+                t.$inject = ["$scope", "$element", "$attrs", "$window", "$mdConstant", "$mdTheming", "$mdUtil", "$mdDateLocale", "$$mdDateUtil", "$$rAF", "$filter", "$timeout"], e.$inject = ["$$mdSvgRegistry", "$mdUtil", "$mdAria", "inputDirective"], de.module("material.components.datepicker").directive("mdDatepicker", e);
                 var a = "md-datepicker-invalid",
                     d = "md-datepicker-open",
                     p = "_md-datepicker-floating-label",
@@ -29521,7 +29534,7 @@
                     h = /ipad|iphone|ipod|android/i;
 
                 function t(e, t, n, r, i, o, a, s, l, c, u, d) {
                     var f = this;
                     e.$on("$destroy", function() {
                         f.detachCalendarPane()
@@ -29529,30 +29542,30 @@
                         e ? f.openCalendarPane({
                             target: f.inputElement
                         }) : f.closeCalendarPane()
-                    }), 1 === ue.version.major && ue.version.minor <= 4 && this.$onInit()
+                    }), 1 === de.version.major && de.version.minor <= 4 && this.$onInit()
                 }
                 t.prototype.$onInit = function() {
-                    this.locale = this.dateLocale ? ue.extend({}, this.$mdDateLocale, this.dateLocale) : this.$mdDateLocale, this.installPropertyInterceptors(), this.attachChangeListeners(), this.attachInteractionListeners()
+                    this.locale = this.dateLocale ? de.extend({}, this.$mdDateLocale, this.dateLocale) : this.$mdDateLocale, this.installPropertyInterceptors(), this.attachChangeListeners(), this.attachInteractionListeners()
                 }, t.prototype.configureNgModel = function(e, t, n) {
                     this.ngModelCtrl = e, this.mdInputContainer = t, this.$attrs.$set("type", "date"), n[0].link.pre(this.$scope, {
-                        on: ue.noop,
-                        val: ue.noop,
+                        on: de.noop,
+                        val: de.noop,
                         0: {}
                     }, this.$attrs, [e]);
                     var r = this;
                     r.ngModelCtrl.$formatters.push(function(e) {
-                        var t = ue.isDefined(e) ? e : null;
-                        if (!(e instanceof Date) && (t = Date.parse(e), !isNaN(t) && ue.isNumber(t) && (e = new Date(t)), e && !(e instanceof Date))) throw Error("The ng-model for md-datepicker must be a Date instance or a value that can be parsed into a date. Currently the model is of type: " + typeof e);
+                        var t = de.isDefined(e) ? e : null;
+                        if (!(e instanceof Date) && (t = Date.parse(e), !isNaN(t) && de.isNumber(t) && (e = new Date(t)), e && !(e instanceof Date))) throw Error("The ng-model for md-datepicker must be a Date instance or a value that can be parsed into a date. Currently the model is of type: " + typeof e);
                         return r.onExternalChange(e), e
-                    }), e.$viewChangeListeners.unshift(ue.bind(this, this.updateErrorState));
+                    }), e.$viewChangeListeners.unshift(de.bind(this, this.updateErrorState));
                     var i = r.$mdUtil.getModelOption(e, "updateOn");
-                    i && this.ngInputElement.on(i, ue.bind(this.$element, this.$element.triggerHandler, i))
+                    i && this.ngInputElement.on(i, de.bind(this.$element, this.$element.triggerHandler, i))
                 }, t.prototype.attachChangeListeners = function() {
                     var n = this;
                     n.$scope.$on("md-calendar-change", function(e, t) {
                         n.setModelValue(t), n.onExternalChange(t), n.closeCalendarPane()
-                    }), n.ngInputElement.on("input", ue.bind(n, n.resizeInputElement));
-                    var e = ue.isDefined(this.debounceInterval) ? this.debounceInterval : 500;
+                    }), n.ngInputElement.on("input", de.bind(n, n.resizeInputElement));
+                    var e = de.isDefined(this.debounceInterval) ? this.debounceInterval : 500;
                     n.ngInputElement.on("input", n.$mdUtil.debounce(n.handleInputEvent, e, n))
                 }, t.prototype.attachInteractionListeners = function() {
                     var t = this,
@@ -29560,12 +29573,12 @@
                         r = this.$mdConstant.KEY_CODE;
                     t.ngInputElement.on("keydown", function(e) {
                         e.altKey && e.keyCode === r.DOWN_ARROW && (t.openCalendarPane(e), n.$digest())
-                    }), t.openOnFocus && (t.ngInputElement.on("focus", ue.bind(t, t.openCalendarPane)), t.ngInputElement.on("click", function(e) {
+                    }), t.openOnFocus && (t.ngInputElement.on("focus", de.bind(t, t.openCalendarPane)), t.ngInputElement.on("click", function(e) {
                         e.stopPropagation()
                     }), t.ngInputElement.on("pointerdown", function(e) {
                         e.target && e.target.setPointerCapture && e.target.setPointerCapture(e.pointerId)
-                    }), ue.element(t.$window).on("blur", t.windowBlurHandler), n.$on("$destroy", function() {
-                        ue.element(t.$window).off("blur", t.windowBlurHandler)
+                    }), de.element(t.$window).on("blur", t.windowBlurHandler), n.$on("$destroy", function() {
+                        de.element(t.$window).off("blur", t.windowBlurHandler)
                     })), n.$on("md-calendar-close", function() {
                         t.closeCalendarPane()
                     })
@@ -29598,11 +29611,11 @@
                             var r = this.dateUtil.createDateAtMidnight(this.maxDate);
                             this.ngModelCtrl.$setValidity("maxdate", t <= r)
                         }
-                        ue.isFunction(this.dateFilter) && this.ngModelCtrl.$setValidity("filtered", this.dateFilter(t))
+                        de.isFunction(this.dateFilter) && this.ngModelCtrl.$setValidity("filtered", this.dateFilter(t))
                     } else this.ngModelCtrl.$setValidity("valid", null == t);
                     var i = this.inputElement.value,
                         o = this.locale.parseDate(i);
-                    !this.isInputValid(i, o) && this.ngModelCtrl.$valid && this.ngModelCtrl.$setValidity("valid", null == t), ue.element(this.inputContainer).toggleClass(a, !this.ngModelCtrl.$valid)
+                    !this.isInputValid(i, o) && this.ngModelCtrl.$valid && this.ngModelCtrl.$setValidity("valid", null == t), de.element(this.inputContainer).toggleClass(a, !this.ngModelCtrl.$valid)
                 }, t.prototype.isInputValid = function(e, t) {
                     return "" === e || this.dateUtil.isValidDate(t) && this.locale.isDateComplete(e) && this.isDateEnabled(t)
                 }, t.prototype.clearErrorState = function() {
@@ -29616,11 +29629,11 @@
                         t = e ? this.locale.parseDate(e) : null;
                     this.dateUtil.setDateTimeToMidnight(t), this.isInputValid(e, t) && (this.setModelValue(t), this.date = t), this.updateErrorState(t)
                 }, t.prototype.isDateEnabled = function(e) {
-                    return this.dateUtil.isDateWithinRange(e, this.minDate, this.maxDate) && (!ue.isFunction(this.dateFilter) || this.dateFilter(e))
+                    return this.dateUtil.isDateWithinRange(e, this.minDate, this.maxDate) && (!de.isFunction(this.dateFilter) || this.dateFilter(e))
                 }, t.prototype.attachCalendarPane = function() {
                     var e = this.calendarPane,
                         t = document.body;
-                    e.style.transform = "", this.$element.addClass(d), this.mdInputContainer && this.mdInputContainer.element.addClass(d), ue.element(t).addClass("md-datepicker-is-showing");
+                    e.style.transform = "", this.$element.addClass(d), this.mdInputContainer && this.mdInputContainer.element.addClass(d), de.element(t).addClass("md-datepicker-is-showing");
                     var n = this.inputContainer.getBoundingClientRect(),
                         r = t.getBoundingClientRect();
                     (!this.topMargin || this.topMargin < 0) && (this.topMargin = (this.inputMask.parent().prop("clientHeight") - this.ngInputElement.prop("clientHeight")) / 2);
@@ -29649,7 +29662,7 @@
                         e.classList.add("md-pane-open")
                     })
                 }, t.prototype.detachCalendarPane = function() {
-                    this.$element.removeClass(d), this.mdInputContainer && this.mdInputContainer.element.removeClass(d), ue.element(document.body).removeClass("md-datepicker-is-showing"), this.calendarPane.classList.remove("md-pane-open"), this.calendarPane.classList.remove("md-datepicker-pos-adjusted"), this.isCalendarOpen && this.$mdUtil.enableScrolling(), this.calendarPane.parentNode && this.calendarPane.parentNode.removeChild(this.calendarPane)
+                    this.$element.removeClass(d), this.mdInputContainer && this.mdInputContainer.element.removeClass(d), de.element(document.body).removeClass("md-datepicker-is-showing"), this.calendarPane.classList.remove("md-pane-open"), this.calendarPane.classList.remove("md-datepicker-pos-adjusted"), this.isCalendarOpen && this.$mdUtil.enableScrolling(), this.calendarPane.parentNode && this.calendarPane.parentNode.removeChild(this.calendarPane)
                 }, t.prototype.openCalendarPane = function(e) {
                     if (!this.isCalendarOpen && !this.isDisabled && !this.inputFocusedOnWindowBlur) {
                         this.isCalendarOpen = this.isOpen = !0, this.calendarPaneOpenedFrom = e.target, this.$mdUtil.disableScrollAround(this.calendarPane), this.attachCalendarPane(), this.focusCalendar(), this.evalAttr("ngFocus");
@@ -29668,7 +29681,7 @@
                         e.isCalendarOpen = e.isOpen = !1
                     }
                 }, t.prototype.getCalendarCtrl = function() {
-                    return ue.element(this.calendarPane.querySelector("md-calendar")).controller("mdCalendar")
+                    return de.element(this.calendarPane.querySelector("md-calendar")).controller("mdCalendar")
                 }, t.prototype.focusCalendar = function() {
                     var e = this;
                     this.$mdUtil.nextTick(function() {
@@ -29701,7 +29714,7 @@
                                 function n() {
                                     i.toggleClass("md-content-overflow", t.scrollHeight > t.clientHeight)
                                 }
-                                t && (e = t.getElementsByTagName("img"), n(), ue.element(e).on("load", n)), r.$on("$destroy", function() {
+                                t && (e = t.getElementsByTagName("img"), n(), de.element(e).on("load", n)), r.$on("$destroy", function() {
                                     o.destroy(i)
                                 })
                             })
@@ -29742,7 +29755,7 @@
                             }, this.abort = function() {
                                 r.cancel()
                             }, this.keypress = function(e) {
-                                var t = n && this.required && !ue.isDefined(this.result);
+                                var t = n && this.required && !de.isDefined(this.result);
                                 e.keyCode !== i.KEY_CODE.ENTER || t || r.hide(this.result)
                             }
                         }
@@ -29756,7 +29769,7 @@
                                 e.defaultTheme = t.defaultTheme(),
                                     function(t) {
                                         var e;
-                                        t.targetEvent && t.targetEvent.target && (e = ue.element(t.targetEvent.target));
+                                        t.targetEvent && t.targetEvent.target && (e = de.element(t.targetEvent.target));
                                         var n = e && e.controller("mdTheme");
                                         if (t.hasTheme = !!n, !t.hasTheme) return;
                                         t.themeWatch = n.$shouldWatch;
@@ -29768,36 +29781,36 @@
                                     }(e)
                             },
                             onShow: function(e, t, n, r) {
-                                ue.element(u[0].body).addClass("md-dialog-is-showing");
+                                de.element(u[0].body).addClass("md-dialog-is-showing");
                                 var i = t.find("md-dialog");
                                 if (i.hasClass("ng-cloak")) {
                                     g.warn("$mdDialog: using `<md-dialog ng-cloak>` will affect the dialog opening animations.", t[0])
                                 }
                                 return function(e) {
                                         function t(e, t) {
-                                            var n = ue.element(e || {});
+                                            var n = de.element(e || {});
                                             if (n && n.length) {
-                                                var r = ue.isFunction(n[0].getBoundingClientRect);
-                                                return ue.extend(t || {}, {
-                                                    element: r ? n : de,
-                                                    bounds: r ? n[0].getBoundingClientRect() : ue.extend({}, {
+                                                var r = de.isFunction(n[0].getBoundingClientRect);
+                                                return de.extend(t || {}, {
+                                                    element: r ? n : fe,
+                                                    bounds: r ? n[0].getBoundingClientRect() : de.extend({}, {
                                                         top: 0,
                                                         left: 0,
                                                         height: 0,
                                                         width: 0
                                                     }, n[0]),
-                                                    focus: ue.bind(n, n.focus)
+                                                    focus: de.bind(n, n.focus)
                                                 })
                                             }
                                         }
 
                                         function n(e, t) {
-                                            return ue.isString(e) && (e = u[0].querySelector(e)), ue.element(e || t)
+                                            return de.isString(e) && (e = u[0].querySelector(e)), de.element(e || t)
                                         }
-                                        e.origin = ue.extend({
+                                        e.origin = de.extend({
                                             element: null,
                                             bounds: null,
-                                            focus: ue.noop
+                                            focus: de.noop
                                         }, e.origin || {}), e.parent = n(e.parent, d), e.closeTo = t(n(e.closeTo)), e.openFrom = t(n(e.openFrom)), e.targetEvent && (e.origin = t(e.targetEvent.target, e.origin), e.originInteraction = v.getLastInteractionType())
                                     }(n),
                                     function(e, t) {
@@ -29821,7 +29834,7 @@
                                         s.backdrop && (e ? s.backdrop.remove() : c.leave(s.backdrop)), s.disableParentScroll && (s.restoreScroll && s.restoreScroll(), delete s.restoreScroll), s.hideBackdrop = null
                                     },
                                     function(e, t) {
-                                        var n = ue.element(m),
+                                        var n = de.element(m),
                                             r = h.debounce(function() {
                                                 b(e, t)
                                             }, 60),
@@ -29925,7 +29938,7 @@
                                 var r;
 
                                 function i() {
-                                    ue.element(u[0].body).removeClass("md-dialog-is-showing"), n.contentElement && n.reverseContainerStretch(), n.cleanupElement(), n.$destroy || "keyboard" !== n.originInteraction || n.origin.focus()
+                                    de.element(u[0].body).removeClass("md-dialog-is-showing"), n.contentElement && n.reverseContainerStretch(), n.cleanupElement(), n.$destroy || "keyboard" !== n.originInteraction || n.origin.focus()
                                 }
                             },
                             clickOutsideToClose: !1,
@@ -29968,7 +29981,7 @@
                         }
                     }
                 }
-                e.$inject = ["$$rAF", "$mdTheming", "$mdDialog"], t.$inject = ["$$interimElementProvider"], ue.module("material.components.dialog", ["material.core", "material.components.backdrop"]).directive("mdDialog", e).provider("$mdDialog", t)
+                e.$inject = ["$$rAF", "$mdTheming", "$mdDialog"], t.$inject = ["$$interimElementProvider"], de.module("material.components.dialog", ["material.core", "material.components.backdrop"]).directive("mdDialog", e).provider("$mdDialog", t)
             }(),
             function() {
                 function e(e) {
@@ -29977,7 +29990,7 @@
                         link: e
                     }
                 }
-                e.$inject = ["$mdTheming"], ue.module("material.components.divider", ["material.core"]).directive("mdDivider", e)
+                e.$inject = ["$mdTheming"], de.module("material.components.divider", ["material.core"]).directive("mdDivider", e)
             }(),
             function() {
                 function e(r) {
@@ -29990,7 +30003,7 @@
                         }
                     }
                 }
-                e.$inject = ["$mdUtil"], ue.module("material.components.fabActions", ["material.core"]).directive("mdFabActions", e)
+                e.$inject = ["$mdUtil"], de.module("material.components.fabActions", ["material.core"]).directive("mdFabActions", e)
             }(),
             function() {
                 function e(t, o, a, s, l, i) {
@@ -30015,7 +30028,7 @@
                     }
 
                     function h() {
-                        o.off("keydown", m), ue.element(document).off("click touchend", p)
+                        o.off("keydown", m), de.element(document).off("click touchend", p)
                     }
 
                     function p(e) {
@@ -30051,12 +30064,12 @@
                     }
 
                     function r(e, t) {
-                        var n, r = (n = b()[0].querySelectorAll(".md-fab-action-item"), ue.forEach(n, function(e) {
-                            ue.element(ue.element(e).children()[0]).attr("tabindex", -1)
+                        var n, r = (n = b()[0].querySelectorAll(".md-fab-action-item"), de.forEach(n, function(e) {
+                            de.element(de.element(e).children()[0]).attr("tabindex", -1)
                         }), n);
                         u.currentActionIndex = u.currentActionIndex + t, u.currentActionIndex = Math.min(r.length - 1, u.currentActionIndex), u.currentActionIndex = Math.max(0, u.currentActionIndex);
-                        var i = ue.element(r[u.currentActionIndex]).children()[0];
-                        ue.element(i).attr("tabindex", 0), i.focus(), e.preventDefault(), e.stopImmediatePropagation()
+                        var i = de.element(r[u.currentActionIndex]).children()[0];
+                        de.element(i).attr("tabindex", 0), i.focus(), e.preventDefault(), e.stopImmediatePropagation()
                     }
 
                     function b() {
@@ -30070,25 +30083,25 @@
                         t.$evalAsync("vm.isOpen = !vm.isOpen")
                     }, u.$onInit = function() {
                         var e, r, i;
-                        u.direction = u.direction || "down", u.isOpen = u.isOpen || !1, d(), o.addClass("md-animations-waiting"), e = ["click", "focusin", "focusout"], ue.forEach(e, function(e) {
+                        u.direction = u.direction || "down", u.isOpen = u.isOpen || !1, d(), o.addClass("md-animations-waiting"), e = ["click", "focusin", "focusout"], de.forEach(e, function(e) {
                             o.on(e, n)
                         }), t.$on("$destroy", function() {
-                            ue.forEach(e, function(e) {
+                            de.forEach(e, function(e) {
                                 o.off(e, n)
                             }), h()
                         }), t.$watch("vm.direction", function(e, t) {
                             a.removeClass(o, "md-" + t), a.addClass(o, "md-" + e), d()
                         }), t.$watch("vm.isOpen", function(e) {
                             d(), r && i || (r = o.find("md-fab-trigger"), i = b()), e ? (o.on("keydown", m), s.nextTick(function() {
-                                ue.element(document).on("click touchend", p)
+                                de.element(document).on("click touchend", p)
                             })) : h();
                             var t = e ? "md-is-open" : "",
                                 n = e ? "" : "md-is-open";
                             r.attr("aria-haspopup", !0), r.attr("aria-expanded", e), i.attr("aria-hidden", !e), a.setClass(o, t, n)
                         }), f()
-                    }, 1 === ue.version.major && ue.version.minor <= 4 && this.$onInit()
+                    }, 1 === de.version.major && de.version.minor <= 4 && this.$onInit()
                 }
-                e.$inject = ["$scope", "$element", "$animate", "$mdUtil", "$mdConstant", "$timeout"], ue.module("material.components.fabShared", ["material.core"]).controller("MdFabController", e)
+                e.$inject = ["$scope", "$element", "$animate", "$mdUtil", "$mdConstant", "$timeout"], de.module("material.components.fabShared", ["material.core"]).controller("MdFabController", e)
             }(),
             function() {
                 e.$inject = ["$timeout"], t.$inject = ["$timeout"];
@@ -30107,10 +30120,10 @@
                                 c = t.querySelector("md-fab-trigger"),
                                 n = t.querySelector("._md-css-variables"),
                                 i = parseInt(F.getComputedStyle(n).zIndex);
-                            ue.forEach(r, function(e, t) {
+                            de.forEach(r, function(e, t) {
                                 var n = e.style;
                                 n.transform = n.webkitTransform = "", n.transitionDelay = "", n.opacity = 1, n.zIndex = r.length - t + i
-                            }), c.style.zIndex = i + r.length + 1, l.isOpen || ue.forEach(r, function(e, t) {
+                            }), c.style.zIndex = i + r.length + 1, l.isOpen || de.forEach(r, function(e, t) {
                                 var n, r, i = e.style,
                                     o = (c.clientHeight - e.clientHeight) / 2,
                                     a = (c.clientWidth - e.clientWidth) / 2;
@@ -30153,7 +30166,7 @@
                             o = t.querySelectorAll(".md-fab-action-item"),
                             n = t.querySelector("._md-css-variables"),
                             a = parseInt(F.getComputedStyle(n).zIndex);
-                        ue.forEach(o, function(e, t) {
+                        de.forEach(o, function(e, t) {
                             var n = e.style,
                                 r = 65 * t;
                             n.opacity = i.isOpen ? 1 : 0, n.transform = n.webkitTransform = i.isOpen ? "scale(1)" : "scale(0)", n.transitionDelay = (i.isOpen ? r : o.length - r) + "ms", n.zIndex = o.length - t + a
@@ -30168,7 +30181,7 @@
                         }
                     }
                 }
-                ue.module("material.components.fabSpeedDial", ["material.core", "material.components.fabShared", "material.components.fabActions"]).directive("mdFabSpeedDial", function() {
+                de.module("material.components.fabSpeedDial", ["material.core", "material.components.fabShared", "material.components.fabActions"]).directive("mdFabSpeedDial", function() {
                     return {
                         restrict: "E",
                         scope: {
@@ -30199,9 +30212,9 @@
                                 var u = F.getComputedStyle(a).getPropertyValue("background-color"),
                                     d = r.offsetWidth,
                                     f = (r.offsetHeight, d / a.offsetWidth * 2);
-                                o.style.backgroundColor = u, o.style.borderRadius = d + "px", i.isOpen ? (s.style.pointerEvents = "inherit", o.style.width = a.offsetWidth + "px", o.style.height = a.offsetHeight + "px", o.style.transform = "scale(" + f + ")", o.style.transitionDelay = "0ms", l && (l.style.transitionDelay = ".3s"), ue.forEach(c, function(e, t) {
+                                o.style.backgroundColor = u, o.style.borderRadius = d + "px", i.isOpen ? (s.style.pointerEvents = "inherit", o.style.width = a.offsetWidth + "px", o.style.height = a.offsetHeight + "px", o.style.transform = "scale(" + f + ")", o.style.transitionDelay = "0ms", l && (l.style.transitionDelay = ".3s"), de.forEach(c, function(e, t) {
                                     e.style.transitionDelay = 25 * (c.length - t) + "ms"
-                                })) : (s.style.pointerEvents = "none", o.style.transform = "scale(1)", o.style.top = "0", e.hasClass("md-right") && (o.style.left = "0", o.style.right = null), e.hasClass("md-left") && (o.style.right = "0", o.style.left = null), o.style.transitionDelay = "200ms", l && (l.style.transitionDelay = "0ms"), ue.forEach(c, function(e, t) {
+                                })) : (s.style.pointerEvents = "none", o.style.transform = "scale(1)", o.style.top = "0", e.hasClass("md-right") && (o.style.left = "0", o.style.right = null), e.hasClass("md-left") && (o.style.right = "0", o.style.left = null), o.style.transitionDelay = "200ms", l && (l.style.transitionDelay = "0ms"), de.forEach(c, function(e, t) {
                                     e.style.transitionDelay = 200 + 25 * t + "ms"
                                 }))
                             }
@@ -30216,7 +30229,7 @@
                         }
                     }
                 }
-                ue.module("material.components.fabToolbar", ["material.core", "material.components.fabShared", "material.components.fabActions"]).directive("mdFabToolbar", function() {
+                de.module("material.components.fabToolbar", ["material.core", "material.components.fabShared", "material.components.fabActions"]).directive("mdFabToolbar", function() {
                     return {
                         restrict: "E",
                         transclude: !0,
@@ -30235,38 +30248,38 @@
                 }).animation(".md-fab-toolbar", e).service("mdFabToolbarAnimation", e)
             }(),
             function() {
-                function e(h, v, b, y) {
+                function e(f, h, b, y, _) {
                     return {
                         restrict: "E",
                         controller: t,
                         scope: {
                             mdOnLayout: "&"
                         },
-                        link: function(o, a, s, t) {
+                        link: function(o, a, p, t) {
                             a.addClass("_md"), a.attr("role", "list"), t.layoutDelegate = function(e) {
                                 var r = [].filter.call(a.children(), function(e) {
                                         return "MD-GRID-TILE" == e.tagName && !e.$$mdDestroyed
                                     }),
                                     i = {
                                         tileSpans: (t = r, [].map.call(t, function(e) {
-                                            var t = ue.element(e).controller("mdGridTile");
+                                            var t = de.element(e).controller("mdGridTile");
                                             return {
                                                 row: parseInt(y.getResponsiveAttribute(t.$attrs, "md-rowspan"), 10) || 1,
                                                 col: parseInt(y.getResponsiveAttribute(t.$attrs, "md-colspan"), 10) || 1
                                             }
                                         })),
                                         colCount: function() {
-                                            var e = parseInt(y.getResponsiveAttribute(s, "md-cols"), 10);
+                                            var e = parseInt(y.getResponsiveAttribute(p, "md-cols"), 10);
                                             if (isNaN(e)) throw "md-grid-list: md-cols attribute was not found, or contained a non-numeric value";
                                             return e
                                         }(),
-                                        rowMode: d(),
+                                        rowMode: u(),
                                         rowHeight: function() {
-                                            var e = y.getResponsiveAttribute(s, "md-row-height");
+                                            var e = y.getResponsiveAttribute(p, "md-row-height");
                                             if (!e) throw "md-grid-list: md-row-height attribute was not found";
-                                            switch (d()) {
+                                            switch (u()) {
                                                 case "fixed":
-                                                    return f(e);
+                                                    return d(e);
                                                 case "ratio":
                                                     var t = e.split(":");
                                                     return parseFloat(t[0]) / parseFloat(t[1]);
@@ -30274,10 +30287,10 @@
                                                     return 0
                                             }
                                         }(),
-                                        gutter: f(y.getResponsiveAttribute(s, "md-gutter") || 1)
+                                        gutter: d(y.getResponsiveAttribute(p, "md-gutter") || 1)
                                     };
                                 var t;
-                                if (!e && ue.equals(i, l)) return;
+                                if (!e && de.equals(i, s)) return;
                                 var n = b(i.colCount, i.tileSpans, r).map(function(e, n) {
                                     return {
                                         grid: {
@@ -30286,7 +30299,7 @@
                                                 var o = {};
                                                 switch (r) {
                                                     case "fixed":
-                                                        o.height = g({
+                                                        o.height = v({
                                                             unit: i,
                                                             span: t,
                                                             gutter: n
@@ -30296,12 +30309,12 @@
                                                         var a = 1 === e ? 0 : (e - 1) / e,
                                                             s = 1 / e * 100,
                                                             l = s * (1 / i),
-                                                            c = p({
+                                                            c = m({
                                                                 share: l,
                                                                 gutterShare: a,
                                                                 gutter: n
                                                             });
-                                                        o.height = "", o.paddingBottom = g({
+                                                        o.height = "", o.paddingBottom = v({
                                                             unit: c,
                                                             span: t,
                                                             gutter: n
@@ -30312,22 +30325,22 @@
                                         },
                                         tiles: e.map(function(e, t) {
                                             return {
-                                                element: ue.element(r[t]),
+                                                element: de.element(r[t]),
                                                 style: function(e, t, n, r, i, o, a) {
                                                     var s = 1 / n * 100,
                                                         l = (n - 1) / n,
-                                                        c = p({
+                                                        c = m({
                                                             share: s,
                                                             gutterShare: l,
                                                             gutter: i
                                                         }),
-                                                        u = "rtl" != document.dir && "rtl" != document.body.dir ? {
-                                                            left: m({
+                                                        u = _.isRtl(p) ? {
+                                                            right: g({
                                                                 unit: c,
                                                                 offset: e.col,
                                                                 gutter: i
                                                             }),
-                                                            width: g({
+                                                            width: v({
                                                                 unit: c,
                                                                 span: t.col,
                                                                 gutter: i
@@ -30337,12 +30350,12 @@
                                                             top: "",
                                                             height: ""
                                                         } : {
-                                                            right: m({
+                                                            left: g({
                                                                 unit: c,
                                                                 offset: e.col,
                                                                 gutter: i
                                                             }),
-                                                            width: g({
+                                                            width: v({
                                                                 unit: c,
                                                                 span: t.col,
                                                                 gutter: i
@@ -30354,11 +30367,11 @@
                                                         };
                                                     switch (o) {
                                                         case "fixed":
-                                                            u.top = m({
+                                                            u.top = g({
                                                                 unit: a,
                                                                 offset: e.row,
                                                                 gutter: i
-                                                            }), u.height = g({
+                                                            }), u.height = v({
                                                                 unit: a,
                                                                 span: t.row,
                                                                 gutter: i
@@ -30366,16 +30379,16 @@
                                                             break;
                                                         case "ratio":
                                                             var d = s / a,
-                                                                f = p({
+                                                                f = m({
                                                                     share: d,
                                                                     gutterShare: l,
                                                                     gutter: i
                                                                 });
-                                                            u.paddingTop = g({
+                                                            u.paddingTop = v({
                                                                 unit: f,
                                                                 span: t.row,
                                                                 gutter: i
-                                                            }), u.marginTop = m({
+                                                            }), u.marginTop = g({
                                                                 unit: f,
                                                                 offset: e.row,
                                                                 gutter: i
@@ -30383,15 +30396,15 @@
                                                             break;
                                                         case "fit":
                                                             var h = (r - 1) / r;
-                                                            f = p({
+                                                            f = m({
                                                                 share: d = 1 / r * 100,
                                                                 gutterShare: h,
                                                                 gutter: i
-                                                            }), u.top = m({
+                                                            }), u.top = g({
                                                                 unit: f,
                                                                 offset: e.row,
                                                                 gutter: i
-                                                            }), u.height = g({
+                                                            }), u.height = v({
                                                                 unit: f,
                                                                 span: t.row,
                                                                 gutter: i
@@ -30407,37 +30420,37 @@
                                     $event: {
                                         performance: n
                                     }
-                                }), l = i
+                                }), s = i
                             };
-                            var l, n = ue.bind(t, t.invalidateLayout),
+                            var s, n = de.bind(t, t.invalidateLayout),
                                 r = function() {
-                                    for (var e in v.MEDIA) y(e), y.getQuery(v.MEDIA[e]).addListener(n);
-                                    return y.watchResponsiveAttributes(["md-cols", "md-row-height", "md-gutter"], s, i)
+                                    for (var e in h.MEDIA) y(e), y.getQuery(h.MEDIA[e]).addListener(n);
+                                    return y.watchResponsiveAttributes(["md-cols", "md-row-height", "md-gutter"], p, i)
                                 }();
 
                             function i(e) {
                                 null == e ? t.invalidateLayout() : y(e) && t.invalidateLayout()
                             }
                             o.$on("$destroy", function() {
-                                for (var e in t.layoutDelegate = ue.noop, r(), v.MEDIA) y.getQuery(v.MEDIA[e]).removeListener(n)
+                                for (var e in t.layoutDelegate = de.noop, r(), h.MEDIA) y.getQuery(h.MEDIA[e]).removeListener(n)
                             });
-                            var c = h.startSymbol(),
-                                u = h.endSymbol();
+                            var l = f.startSymbol(),
+                                c = f.endSymbol();
 
                             function e(e) {
-                                return c + e + u
+                                return l + e + c
                             }
-                            var p = h(e("share") + "% - (" + e("gutter") + " * " + e("gutterShare") + ")"),
-                                m = h("calc((" + e("unit") + " + " + e("gutter") + ") * " + e("offset") + ")"),
-                                g = h("calc((" + e("unit") + ") * " + e("span") + " + (" + e("span") + " - 1) * " + e("gutter") + ")");
+                            var m = f(e("share") + "% - (" + e("gutter") + " * " + e("gutterShare") + ")"),
+                                g = f("calc((" + e("unit") + " + " + e("gutter") + ") * " + e("offset") + ")"),
+                                v = f("calc((" + e("unit") + ") * " + e("span") + " + (" + e("span") + " - 1) * " + e("gutter") + ")");
 
-                            function d() {
-                                var e = y.getResponsiveAttribute(s, "md-row-height");
+                            function u() {
+                                var e = y.getResponsiveAttribute(p, "md-row-height");
                                 if (!e) throw "md-grid-list: md-row-height attribute was not found";
                                 return "fit" == e ? "fit" : -1 !== e.indexOf(":") ? "ratio" : "fixed"
                             }
 
-                            function f(e) {
+                            function d(e) {
                                 return /\D$/.test(e) ? e : e + "px"
                             }
                         }
@@ -30445,13 +30458,13 @@
                 }
 
                 function t(e) {
-                    this.layoutInvalidated = !1, this.tilesInvalidated = !1, this.$timeout_ = e.nextTick, this.layoutDelegate = ue.noop
+                    this.layoutInvalidated = !1, this.tilesInvalidated = !1, this.$timeout_ = e.nextTick, this.layoutDelegate = de.noop
                 }
 
                 function n(l) {
                     var c = t;
                     return e.animateWith = function(e) {
-                        c = ue.isFunction(e) ? e : t
+                        c = de.isFunction(e) ? e : t
                     }, e;
 
                     function e(e, t) {
@@ -30544,10 +30557,10 @@
                         }],
                         link: function(e, t, n, r) {
                             t.attr("role", "listitem");
-                            var i = o.watchResponsiveAttributes(["md-colspan", "md-rowspan"], n, ue.bind(r, r.invalidateLayout));
+                            var i = o.watchResponsiveAttributes(["md-colspan", "md-rowspan"], n, de.bind(r, r.invalidateLayout));
                             r.invalidateTiles(), e.$on("$destroy", function() {
                                 t[0].$$mdDestroyed = !0, i(), r.invalidateLayout()
-                            }), ue.isDefined(e.$parent.$index) && e.$watch(function() {
+                            }), de.isDefined(e.$parent.$index) && e.$watch(function() {
                                 return e.$parent.$index
                             }, function(e, t) {
                                 e !== t && r.invalidateTiles()
@@ -30562,12 +30575,12 @@
                         transclude: !0
                     }
                 }
-                t.$inject = ["$mdUtil"], n.$inject = ["$mdUtil"], e.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia"], r.$inject = ["$mdMedia"], ue.module("material.components.gridList", ["material.core"]).directive("mdGridList", e).directive("mdGridTile", r).directive("mdGridTileFooter", i).directive("mdGridTileHeader", i).factory("$mdGridLayout", n), t.prototype = {
+                t.$inject = ["$mdUtil"], n.$inject = ["$mdUtil"], e.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia", "$mdUtil"], r.$inject = ["$mdMedia"], de.module("material.components.gridList", ["material.core"]).directive("mdGridList", e).directive("mdGridTile", r).directive("mdGridTileFooter", i).directive("mdGridTileHeader", i).factory("$mdGridLayout", n), t.prototype = {
                     invalidateTiles: function() {
                         this.tilesInvalidated = !0, this.invalidateLayout()
                     },
                     invalidateLayout: function() {
-                        this.layoutInvalidated || (this.layoutInvalidated = !0, this.$timeout_(ue.bind(this, this.layout)))
+                        this.layoutInvalidated || (this.layoutInvalidated = !0, this.$timeout_(de.bind(this, this.layout)))
                     },
                     layout: function() {
                         try {
@@ -30577,7 +30590,7 @@
                         }
                     }
                 }
-            }(), ue.module("material.components.icon", ["material.core"]), ue.module("material.components.icon").directive("mdIcon", ["$mdIcon", "$mdTheming", "$mdAria", "$sce", function(l, c, u, e) {
+            }(), de.module("material.components.icon", ["material.core"]), de.module("material.components.icon").directive("mdIcon", ["$mdIcon", "$mdTheming", "$mdAria", "$sce", function(l, c, u, e) {
                 return {
                     restrict: "E",
                     link: function(e, t, n) {
@@ -30603,7 +30616,7 @@
                 }
             }]),
             function() {
-                a.$inject = ["config", "$templateRequest", "$q", "$log", "$mdUtil", "$sce"], ue.module("material.components.icon").constant("$$mdSvgRegistry", {
+                a.$inject = ["config", "$templateRequest", "$q", "$log", "$mdUtil", "$sce"], de.module("material.components.icon").constant("$$mdSvgRegistry", {
                     mdTabsArrow: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyICIvPjwvZz48L3N2Zz4=",
                     mdClose: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xOSA2LjQxbC0xLjQxLTEuNDEtNS41OSA1LjU5LTUuNTktNS41OS0xLjQxIDEuNDEgNS41OSA1LjU5LTUuNTkgNS41OSAxLjQxIDEuNDEgNS41OS01LjU5IDUuNTkgNS41OSAxLjQxLTEuNDEtNS41OS01LjU5eiIvPjwvZz48L3N2Zz4=",
                     mdCancel: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xMiAyYy01LjUzIDAtMTAgNC40Ny0xMCAxMHM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTAtNC40Ny0xMC0xMC0xMHptNSAxMy41OWwtMS40MSAxLjQxLTMuNTktMy41OS0zLjU5IDMuNTktMS40MS0xLjQxIDMuNTktMy41OS0zLjU5LTMuNTkgMS40MS0xLjQxIDMuNTkgMy41OSAzLjU5LTMuNTkgMS40MSAxLjQxLTMuNTkgMy41OSAzLjU5IDMuNTl6Ii8+PC9nPjwvc3ZnPg==",
@@ -30635,7 +30648,7 @@
                         },
                         prepare: function() {
                             var e = this.config ? this.config.viewBoxSize : a.defaultViewBoxSize;
-                            ue.forEach({
+                            de.forEach({
                                 fit: "",
                                 height: "100%",
                                 width: "100%",
@@ -30647,30 +30660,30 @@
                             }, this)
                         }
                     }, e.fontSet = function(t) {
-                        if (ue.isUndefined(t) || !t || !t.length) return a.defaultFontSet;
+                        if (de.isUndefined(t) || !t || !t.length) return a.defaultFontSet;
                         var n = t;
-                        return ue.forEach(a.fontSets, function(e) {
+                        return de.forEach(a.fontSets, function(e) {
                             e.alias === t && (n = e.fontSet || n)
                         }), n
                     }, e;
 
                     function e(e) {
-                        return e = e || "", ue.isString(e) || (e = t.getTrustedUrl(e)), r[e] ? s.when(i(r[e])) : n.test(e) || d.test(e) ? g(e).then(h(e)) : (-1 === e.indexOf(":") && (e = "$default:" + e), (a[e] ? p : m)(e).then(h(e)))
+                        return e = e || "", de.isString(e) || (e = t.getTrustedUrl(e)), r[e] ? s.when(i(r[e])) : n.test(e) || d.test(e) ? g(e).then(h(e)) : (-1 === e.indexOf(":") && (e = "$default:" + e), (a[e] ? p : m)(e).then(h(e)))
                     }
 
                     function i(e) {
                         var n, r, i, o, a = e.clone(),
                             s = u.nextUid(),
                             l = ["clip-path", "color-profile", "cursor", "fill", "filter", "href", "marker-start", "marker-mid", "marker-end", "mask", "stroke", "style", "vector-effect"],
-                            c = a.innerHTML === de;
+                            c = a.innerHTML === fe;
                         if (!isFinite(Number(s))) throw new Error("Unsafe and unexpected non-number result from $mdUtil.nextUid().");
-                        return n = "_cache" + s, a.id && (a.id += n), ue.forEach(a.querySelectorAll("[id]"), function(t) {
+                        return n = "_cache" + s, a.id && (a.id += n), de.forEach(a.querySelectorAll("[id]"), function(t) {
                             for (r = "", i = 0; i < l.length; i++) r += "[" + l[i] + '="url(#' + t.id + ')"]', i + 1 < l.length && (r += ", ");
-                            ue.forEach(a.querySelectorAll(r), function(e) {
+                            de.forEach(a.querySelectorAll(r), function(e) {
                                 f(t, e, c, s)
-                            }), ue.forEach(a.querySelectorAll("style"), function(e) {
+                            }), de.forEach(a.querySelectorAll("style"), function(e) {
                                 f(t, e, c, s)
-                            }), ue.forEach(a.querySelectorAll("[*|href]:not([href])"), function(e) {
+                            }), de.forEach(a.querySelectorAll("[*|href]:not([href])"), function(e) {
                                 (o = e.getAttribute("xlink:href")) && (o = o.replace("#" + t.id, "#" + t.id + n), e.setAttribute("xlink:href", o))
                             }), t.id += n
                         }), a
@@ -30679,13 +30692,13 @@
                     function f(e, t, n, r) {
                         var i, o;
                         if (!isFinite(Number(r))) throw new Error("Unsafe and unexpected non-number result for newUid.");
-                        o = "_cache" + r, n ? (i = (i = u.getOuterHTML(t)).replace("url(#" + e.id + ")", "url(#" + e.id + o + ")"), t.textContent = ue.element(i)[0].innerHTML) : t.outerHTML = t.outerHTML.replace("url(#" + e.id + ")", "url(#" + e.id + o + ")")
+                        o = "_cache" + r, n ? (i = (i = u.getOuterHTML(t)).replace("url(#" + e.id + ")", "url(#" + e.id + o + ")"), t.textContent = de.element(i)[0].innerHTML) : t.outerHTML = t.outerHTML.replace("url(#" + e.id + ")", "url(#" + e.id + o + ")")
                     }
 
                     function h(n) {
                         return function(e) {
                             var t;
-                            return r[n] = (t = e, ue.isDefined(t.element) && ue.isDefined(t.config) ? e : new v(e, a[n])), i(r[n])
+                            return r[n] = (t = e, de.isDefined(t.element) && de.isDefined(t.config) ? e : new v(e, a[n])), i(r[n])
                         }
                     }
 
@@ -30712,11 +30725,11 @@
                     }
 
                     function g(e) {
-                        return d.test(e) ? (t = e, n = d.exec(t), i = /base64/i.test(t) ? F.atob(n[2]) : n[2], s.when(ue.element(i)[0])) : (r = e, s(function(t, n) {
+                        return d.test(e) ? (t = e, n = d.exec(t), i = /base64/i.test(t) ? F.atob(n[2]) : n[2], s.when(de.element(i)[0])) : (r = e, s(function(t, n) {
                             o(r, !0).then(function(e) {
-                                c[r] || (c[r] = ue.element("<div>").append(e)[0].querySelector("svg")), t(c[r])
+                                c[r] || (c[r] = de.element("<div>").append(e)[0].querySelector("svg")), t(c[r])
                             }, function(e) {
-                                var t = ue.isString(e) ? e : e.message || e.data || e.statusText;
+                                var t = de.isString(e) ? e : e.message || e.data || e.statusText;
                                 l.warn(t), n(e)
                             })
                         }));
@@ -30726,9 +30739,9 @@
                     function v(e, t) {
                         if (e && "symbol" === e.tagName.toLowerCase()) {
                             var n = e.getAttribute("viewBox");
-                            e = e.innerHTML ? ue.element('<svg xmlns="http://www.w3.org/2000/svg">').html(e.innerHTML)[0] : ue.element('<svg xmlns="http://www.w3.org/2000/svg">').append(u.getInnerHTML(e))[0], n && e.setAttribute("viewBox", n)
+                            e = e.innerHTML ? de.element('<svg xmlns="http://www.w3.org/2000/svg">').html(e.innerHTML)[0] : de.element('<svg xmlns="http://www.w3.org/2000/svg">').append(u.getInnerHTML(e))[0], n && e.setAttribute("viewBox", n)
                         }
-                        e && "svg" !== e.tagName.toLowerCase() && (e = ue.element('<svg xmlns="http://www.w3.org/2000/svg">').append(e.cloneNode(!0))[0]), e.getAttribute("xmlns") || e.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.element = e, this.config = t, this.prepare()
+                        e && "svg" !== e.tagName.toLowerCase() && (e = de.element('<svg xmlns="http://www.w3.org/2000/svg">').append(e.cloneNode(!0))[0]), e.getAttribute("xmlns") || e.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.element = e, this.config = t, this.prepare()
                     }
                 }
                 e.prototype = {
@@ -30764,7 +30777,7 @@
             }(),
             function() {
                 t.$inject = ["$mdTheming", "$parse", "$$rAF"], n.$inject = ["$mdUtil", "$window", "$mdAria", "$timeout", "$mdGesture"], r.$inject = ["$animate", "$mdUtil"], i.$inject = ["$compile"], u.$inject = ["$mdUtil"], o.$inject = ["$document", "$timeout"], d.$inject = ["$$AnimateRunner", "$animateCss", "$mdUtil"], f.$inject = ["$$AnimateRunner", "$animateCss", "$mdUtil"], h.$inject = ["$$AnimateRunner", "$animateCss", "$mdUtil", "$log"];
-                var e = ue.module("material.components.input", ["material.core"]).directive("mdInputContainer", t).directive("label", function() {
+                var e = de.module("material.components.input", ["material.core"]).directive("mdInputContainer", t).directive("label", function() {
                     return {
                         restrict: "E",
                         require: "^?mdInputContainer",
@@ -30841,7 +30854,7 @@
                                 m = !!e[1],
                                 g = e[1] || v.fakeNgModel(),
                                 t = e[2],
-                                n = ue.isDefined(h.readonly),
+                                n = de.isDefined(h.readonly),
                                 r = v.parseAttributeBoolean(h.mdNoAsterisk),
                                 i = f[0].tagName.toLowerCase();
                             if (!p) return; {
@@ -30854,16 +30867,16 @@
                             p.input = f, p.label && h.$observe("required", function(e) {
                                 p.label.toggleClass("md-required", e && !r)
                             });
-                            var o = ue.element('<div class="md-errors-spacer">');
+                            var o = de.element('<div class="md-errors-spacer">');
                             f.after(o);
-                            var a = ue.isString(h.placeholder) ? h.placeholder.trim() : "";
+                            var a = de.isString(h.placeholder) ? h.placeholder.trim() : "";
                             p.label || a.length || u.expect(f, "aria-label");
                             f.addClass("md-input"), f.attr("id") || f.attr("id", "input_" + v.nextUid());
                             "input" === i && "number" === h.type && h.min && h.max && !h.step ? f.attr("step", "any") : "textarea" === i && function() {
                                 var t = !h.hasOwnProperty("mdNoAutogrow");
                                 if (function() {
                                         if (!h.hasOwnProperty("mdNoResize")) {
-                                            var e = ue.element('<div class="md-resize-handle"></div>'),
+                                            var e = de.element('<div class="md-resize-handle"></div>'),
                                                 t = !1,
                                                 n = 0,
                                                 r = p.element,
@@ -30920,11 +30933,11 @@
                                 }
 
                                 function c() {
-                                    if (t && (t = !1, ue.element(b).off("resize", r), n && n(), f.attr("md-no-autogrow", "").off("input", r), m)) {
+                                    if (t && (t = !1, de.element(b).off("resize", r), n && n(), f.attr("md-no-autogrow", "").off("input", r), m)) {
                                         var e = g.$formatters.indexOf(i); - 1 < e && g.$formatters.splice(e, 1)
                                     }
                                 }
-                                if (ue.element(b).on("resize", r), d.$on("$destroy", c), h.hasOwnProperty("mdDetectHidden")) {
+                                if (de.element(b).on("resize", r), d.$on("$destroy", c), h.hasOwnProperty("mdDetectHidden")) {
                                     var e = (u = !1, function() {
                                         var e = 0 === l.offsetHeight;
                                         !1 === e && !0 === u && r(), u = e
@@ -30973,11 +30986,11 @@
                             isNaN(i) && (i = -1);
                             var o, a, s = n[0],
                                 l = n[1],
-                                c = !ue.isDefined(t.ngTrim) || p.parseAttributeBoolean(t.ngTrim),
+                                c = !de.isDefined(t.ngTrim) || p.parseAttributeBoolean(t.ngTrim),
                                 u = "password" === t.type;
 
                             function d(e) {
-                                return (e = c && !u && ue.isString(e) ? e.trim() : e) !== de && null !== e || (e = ""), String(e).length
+                                return (e = c && !u && de.isString(e) ? e.trim() : e) !== fe && null !== e || (e = ""), String(e).length
                             }
 
                             function f() {
@@ -30986,17 +30999,17 @@
                             e.$watch(t.mdMaxlength, function(e) {
                                 i = e
                             }), s.$validators["md-maxlength"] = function(e, t) {
-                                if (!ue.isNumber(i) || i < 0) return !0;
+                                if (!de.isNumber(i) || i < 0) return !0;
                                 f();
                                 var n = r.val() || t;
-                                return n !== de && null !== n || (n = ""), n = c && !u && ue.isString(n) ? n.trim() : n, String(n).length <= i
+                                return n !== fe && null !== n || (n = ""), n = c && !u && de.isString(n) ? n.trim() : n, String(n).length <= i
                             }, s.$isEmpty = function(e) {
                                 return 0 === d(e)
                             }, p.nextTick(function() {
-                                a = ue.element(l.element[0].querySelector(".md-errors-spacer")), o = ue.element('<div class="md-char-counter">'), a.append(o), t.$observe("ngTrim", function(e) {
-                                    c = !ue.isDefined(e) || p.parseAttributeBoolean(e)
+                                a = de.element(l.element[0].querySelector(".md-errors-spacer")), o = de.element('<div class="md-char-counter">'), a.append(o), t.$observe("ngTrim", function(e) {
+                                    c = !de.isDefined(e) || p.parseAttributeBoolean(e)
                                 }), e.$watch(t.mdMaxlength, function(e) {
-                                    ue.isNumber(e) && 0 < e ? (o.parent().length || h.enter(o, a), f()) : h.leave(o)
+                                    de.isNumber(e) && 0 < e ? (o.parent().length || h.enter(o, a), f()) : h.leave(o)
                                 })
                             })
                         }
@@ -31015,7 +31028,7 @@
                                     o = r.element.attr("md-no-float");
                                 if (i && i.length || "" === o || e.$eval(o)) return void r.setHasPlaceholder(!0);
                                 if ("MD-SELECT" !== t[0].nodeName) {
-                                    var a = ue.element('<label ng-click="delegateClick()" tabindex="-1" aria-hidden="true">' + n.placeholder + "</label>");
+                                    var a = de.element('<label ng-click="delegateClick()" tabindex="-1" aria-hidden="true">' + n.placeholder + "</label>");
                                     n.$set("placeholder", null), r.element.addClass("md-icon-float").prepend(a), s(a)(e)
                                 }
                             }
@@ -31120,8 +31133,8 @@
                     var n, r = [],
                         i = b(e),
                         o = i.children();
-                    0 != i.length && 0 != o.length ? (ue.forEach(o, function(e) {
-                        n = g(ue.element(e)), r.push(n.start())
+                    0 != i.length && 0 != o.length ? (de.forEach(o, function(e) {
+                        n = g(de.element(e)), r.push(n.start())
                     }), a.all(r, t)) : t()
                 }
 
@@ -31129,8 +31142,8 @@
                     var n, r = [],
                         i = b(e),
                         o = i.children();
-                    0 != i.length && 0 != o.length ? (ue.forEach(o, function(e) {
-                        n = v(ue.element(e)), r.push(n.start())
+                    0 != i.length && 0 != o.length ? (de.forEach(o, function(e) {
+                        n = v(de.element(e)), r.push(n.start())
                     }), a.all(r, t)) : t()
                 }
 
@@ -31173,9 +31186,9 @@
                 }
 
                 function b(e) {
-                    return e.hasClass("md-input-messages-animation") ? e : e.hasClass("md-input-message-animation") ? ue.element(l.getClosest(e, function(e) {
+                    return e.hasClass("md-input-messages-animation") ? e : e.hasClass("md-input-message-animation") ? de.element(l.getClosest(e, function(e) {
                         return e.classList.contains("md-input-messages-animation")
-                    })) : ue.element(e[0].querySelector(".md-input-messages-animation"))
+                    })) : de.element(e[0].querySelector(".md-input-messages-animation"))
                 }
 
                 function y(e, t, n) {
@@ -31210,10 +31223,10 @@
                             }
 
                             function c(e) {
-                                if ("div" == e)(r = ue.element('<div class="md-no-style md-list-item-inner">')).append(o.contents()), o.addClass("md-proxy-focus");
+                                if ("div" == e)(r = de.element('<div class="md-no-style md-list-item-inner">')).append(o.contents()), o.addClass("md-proxy-focus");
                                 else {
-                                    r = ue.element('<div class="md-button md-no-style">   <div class="md-list-item-inner"></div></div>');
-                                    var t = ue.element('<md-button class="md-no-style"></md-button>');
+                                    r = de.element('<div class="md-button md-no-style">   <div class="md-list-item-inner"></div></div>');
+                                    var t = de.element('<md-button class="md-no-style"></md-button>');
                                     u(o[0], t[0]), t.attr("aria-label") || t.attr("aria-label", f.getText(o)), o.hasClass("md-no-focus") && t.addClass("md-no-focus"), r.prepend(t), r.children().eq(1).append(o.contents()), o.addClass("_md-button-wrap")
                                 }
                                 o[0].setAttribute("tabindex", "-1"), o.append(r)
@@ -31221,7 +31234,7 @@
 
                             function u(t, n, e) {
                                 var r = p.prefixer(["ng-if", "ng-click", "ng-dblclick", "aria-label", "ng-disabled", "ui-sref", "href", "ng-href", "rel", "target", "ng-attr-ui-sref", "ui-sref-opts", "download"]);
-                                e && (r = r.concat(p.prefixer(e))), ue.forEach(r, function(e) {
+                                e && (r = r.concat(p.prefixer(e))), de.forEach(r, function(e) {
                                     t.hasAttribute(e) && (n.setAttribute(e, t.getAttribute(e)), t.removeAttribute(e))
                                 })
                             }
@@ -31231,15 +31244,15 @@
                                     if ("ngClick" === a.$normalize(t[n].name)) return !0;
                                 return !1
                             }
-                            return t = ue.element('<div class="md-secondary-container">'), ue.forEach(n, function(e) {
+                            return t = de.element('<div class="md-secondary-container">'), de.forEach(n, function(e) {
                                     ! function(e, t) {
                                         if (e && ("MD-BUTTON" != (r = e.nodeName.toUpperCase()) && "BUTTON" != r) && e.hasAttribute("ng-click")) {
                                             f.expect(e, "aria-label");
-                                            var n = ue.element('<md-button class="md-secondary md-icon-button">');
+                                            var n = de.element('<md-button class="md-secondary md-icon-button">');
                                             u(e, n[0], ["ng-if", "ng-hide", "ng-show"]), e.setAttribute("tabindex", "-1"), n.append(e), e = n[0]
                                         }
                                         var r, i;
-                                        !e || d(e) && (a.ngClick || (i = e, -1 == g.indexOf(i.nodeName.toLowerCase()))) || ue.element(e).removeClass("md-secondary"), o.addClass("md-with-secondary"), t.append(e)
+                                        !e || d(e) && (a.ngClick || (i = e, -1 == g.indexOf(i.nodeName.toLowerCase()))) || de.element(e).removeClass("md-secondary"), o.addClass("md-with-secondary"), t.append(e)
                                     }(e, t)
                                 }), r.append(t),
                                 function() {
@@ -31250,7 +31263,7 @@
                                             e.setAttribute("aria-label", "Toggle " + i.textContent)
                                         }
                                 }(), e && "MD-MENU" === i.nodeName && function() {
-                                    var e = ue.element(i),
+                                    var e = de.element(i),
                                         t = e.parent().hasClass("md-secondary-container") || i.parentNode.firstElementChild !== i,
                                         n = "left";
                                     t && (n = "right");
@@ -31266,12 +31279,12 @@
                                         a = i.hasClass("_md-button-wrap") ? o.firstElementChild : o,
                                         s = a && d(a),
                                         l = i.hasClass("md-no-proxy");
-                                    o && o.children && !s && !l && ue.forEach(g, function(e) {
-                                        ue.forEach(o.querySelectorAll(e + ":not(.md-secondary)"), function(e) {
+                                    o && o.children && !s && !l && de.forEach(g, function(e) {
+                                        de.forEach(o.querySelectorAll(e + ":not(.md-secondary)"), function(e) {
                                             r.push(e)
                                         })
-                                    }), (1 == r.length || s) && (i.addClass("md-clickable"), s || n.attachRipple(e, ue.element(i[0].querySelector(".md-no-style")))), r.length && ue.forEach(r, function(t) {
-                                        t = ue.element(t), e.mouseActive = !1, t.on("mousedown", function() {
+                                    }), (1 == r.length || s) && (i.addClass("md-clickable"), s || n.attachRipple(e, de.element(i[0].querySelector(".md-no-style")))), r.length && de.forEach(r, function(t) {
+                                        t = de.element(t), e.mouseActive = !1, t.on("mousedown", function() {
                                             e.mouseActive = !0, m(function() {
                                                 e.mouseActive = !1
                                             }, 100)
@@ -31296,8 +31309,8 @@
                                                     if (-1 !== t.indexOf(e.path[r].tagName.toLowerCase())) return !0
                                             }(t)) {
                                             var e = p.getClosest(t.target, "BUTTON");
-                                            !e && a.contains(t.target) && ue.forEach(r, function(e) {
-                                                t.target === e || e.contains(t.target) || ("MD-MENU" === e.nodeName && (e = e.children[0]), ue.element(e).triggerHandler("click"))
+                                            !e && a.contains(t.target) && de.forEach(r, function(e) {
+                                                t.target === e || e.contains(t.target) || ("MD-MENU" === e.nodeName && (e = e.children[0]), de.element(e).triggerHandler("click"))
                                             })
                                         }
                                     });
@@ -31314,8 +31327,8 @@
                         n.attach(e, t, {})
                     }
                 }
-                n.$inject = ["$scope", "$element", "$mdListInkRipple"], e.$inject = ["$mdTheming"], t.$inject = ["$mdAria", "$mdConstant", "$mdUtil", "$timeout"], ue.module("material.components.list", ["material.core"]).controller("MdListController", n).directive("mdList", e).directive("mdListItem", t)
-            }(), ue.module("material.components.menu", ["material.core", "material.components.backdrop"]),
+                n.$inject = ["$scope", "$element", "$mdListInkRipple"], e.$inject = ["$mdTheming"], t.$inject = ["$mdAria", "$mdConstant", "$mdUtil", "$timeout"], de.module("material.components.list", ["material.core"]).controller("MdListController", n).directive("mdList", e).directive("mdListItem", t)
+            }(), de.module("material.components.menu", ["material.core", "material.components.backdrop"]),
             function() {
                 function e(i, t, o, a, s, r, e, n, l) {
                     var c, u, d = s.prefixer(),
@@ -31329,10 +31342,10 @@
                             f.onIsOpenChanged(f.isOpen)
                         });
                         var n = "menu_container_" + s.nextUid();
-                        c.attr("id", n), ue.element(u).attr({
+                        c.attr("id", n), de.element(u).attr({
                             "aria-owns": n,
                             "aria-haspopup": "true"
-                        }), a.$on("$destroy", ue.bind(this, function() {
+                        }), a.$on("$destroy", de.bind(this, function() {
                             this.disableHoverListener(), i.destroy()
                         })), c.on("$destroy", function() {
                             i.destroy()
@@ -31343,8 +31356,8 @@
                         m.push(e.$on("$mdMenuOpen", function(e, t) {
                             c[0].contains(t[0]) && (f.currentlyOpenMenu = t.controller("mdMenu"), f.isAlreadyOpening = !1, f.currentlyOpenMenu.registerContainerProxy(f.triggerContainerProxy.bind(f)))
                         })), m.push(e.$on("$mdMenuClose", function(e, t) {
-                            c[0].contains(t[0]) && (f.currentlyOpenMenu = de)
-                        })), (p = ue.element(s.nodesToArray(c[0].children[0].children))).on("mouseenter", f.handleMenuItemHover), p.on("mouseleave", f.handleMenuItemMouseLeave)
+                            c[0].contains(t[0]) && (f.currentlyOpenMenu = fe)
+                        })), (p = de.element(s.nodesToArray(c[0].children[0].children))).on("mouseenter", f.handleMenuItemHover), p.on("mouseleave", f.handleMenuItemMouseLeave)
                     }, this.disableHoverListener = function() {
                         for (; m.length;) m.shift()();
                         p && p.off("mouseenter", f.handleMenuItemHover), p && p.off("mouseleave", f.handleMenuItemMouseLeave)
@@ -31352,7 +31365,7 @@
                         if (!f.isAlreadyOpening) {
                             var t = e.target.querySelector("md-menu") || s.getClosest(e.target, "MD-MENU");
                             h = r(function() {
-                                if (t && (t = ue.element(t).controller("mdMenu")), f.currentlyOpenMenu && f.currentlyOpenMenu != t) {
+                                if (t && (t = de.element(t).controller("mdMenu")), f.currentlyOpenMenu && f.currentlyOpenMenu != t) {
                                     var e = f.nestLevel + 1;
                                     f.currentlyOpenMenu.close(!0, {
                                         closeTo: e
@@ -31363,7 +31376,7 @@
                             n && n.focus()
                         }
                     }, this.handleMenuItemMouseLeave = function() {
-                        h && (r.cancel(h), h = de)
+                        h && (r.cancel(h), h = fe)
                     }, this.open = function(e) {
                         e && e.stopPropagation(), e && e.preventDefault(), f.isOpen || (f.enableHoverListener(), f.isOpen = !0, s.nextTick(function() {
                             f.onIsOpenChanged(f.isOpen)
@@ -31379,7 +31392,7 @@
                             u.setAttribute("aria-expanded", "false"), f.disableHoverListener()
                         }))
                     }, this.onIsOpenChanged = function(e) {
-                        e ? (c.attr("aria-hidden", "false"), o[0].classList.add("md-open"), ue.forEach(f.nestedMenus, function(e) {
+                        e ? (c.attr("aria-hidden", "false"), o[0].classList.add("md-open"), de.forEach(f.nestedMenus, function(e) {
                             e.classList.remove("md-open")
                         })) : (c.attr("aria-hidden", "true"), o[0].classList.remove("md-open")), a.$mdMenuIsOpen = f.isOpen
                     }, this.focusMenuContainer = function() {
@@ -31396,12 +31409,12 @@
                             f.isOpen = !1, s.nextTick(function() {
                                 f.onIsOpenChanged(f.isOpen)
                             });
-                            var n = ue.extend({}, t, {
+                            var n = de.extend({}, t, {
                                 skipFocus: e
                             });
                             if (a.$emit("$mdMenuClose", o, n), i.hide(null, t), !e) {
                                 var r = f.restoreFocusTo || o.find("button")[0];
-                                r instanceof ue.element && (r = r[0]), r && r.focus()
+                                r instanceof de.element && (r = r[0]), r && r.focus()
                             }
                         }
                     }, this.positionMode = function() {
@@ -31424,11 +31437,11 @@
                     }, a.$mdMenu = {
                         open: this.open,
                         close: this.close
-                    }, a.$mdOpenMenu = ue.bind(this, function() {
+                    }, a.$mdOpenMenu = de.bind(this, function() {
                         return l.warn("mdMenu: The $mdOpenMenu method is deprecated. Please use `$mdMenu.open`."), this.open.apply(this, arguments)
                     })
                 }
-                e.$inject = ["$mdMenu", "$attrs", "$element", "$scope", "$mdUtil", "$timeout", "$rootScope", "$q", "$log"], ue.module("material.components.menu").controller("mdMenuCtrl", e)
+                e.$inject = ["$mdMenu", "$attrs", "$element", "$scope", "$mdUtil", "$timeout", "$rootScope", "$q", "$log"], de.module("material.components.menu").controller("mdMenuCtrl", e)
             }(),
             function() {
                 function e(a) {
@@ -31450,7 +31463,7 @@
                             t && t.setAttribute("aria-haspopup", "true");
                             var i = e[0].querySelectorAll("md-menu"),
                                 o = parseInt(e[0].getAttribute("md-nest-level"), 10) || 0;
-                            i && ue.forEach(a.nodesToArray(i), function(e) {
+                            i && de.forEach(a.nodesToArray(i), function(e) {
                                 e.hasAttribute("md-position-mode") || e.setAttribute("md-position-mode", "cascade"), e.classList.add("_md-nested-menu"), e.setAttribute("md-nest-level", o + 1)
                             });
                             return l
@@ -31460,7 +31473,7 @@
                     function l(e, t, n, r) {
                         var i = r[0],
                             o = !!r[1],
-                            a = ue.element('<div class="_md md-open-menu-container md-whiteframe-z2"></div>'),
+                            a = de.element('<div class="_md md-open-menu-container md-whiteframe-z2"></div>'),
                             s = t.children()[1];
                         t.addClass("_md"), s.hasAttribute("role") || s.setAttribute("role", "menu"), a.append(s), t.on("$destroy", function() {
                             a.remove()
@@ -31469,7 +31482,7 @@
                         })
                     }
                 }
-                e.$inject = ["$mdUtil"], ue.module("material.components.menu").directive("mdMenu", e)
+                e.$inject = ["$mdUtil"], de.module("material.components.menu").directive("mdMenu", e)
             }(),
             function() {
                 function e(e) {
@@ -31488,12 +31501,12 @@
                             onShow: function(a, n, s) {
                                 (function() {
                                     if (!s.target) throw Error("$mdMenu.show() expected a target to animate from in options.target");
-                                    ue.extend(s, {
+                                    de.extend(s, {
                                         alreadyOpen: !1,
                                         isRemoved: !1,
-                                        target: ue.element(s.target),
-                                        parent: ue.element(s.parent),
-                                        menuContentEl: ue.element(n[0].querySelector("md-menu-content"))
+                                        target: de.element(s.target),
+                                        parent: de.element(s.parent),
+                                        menuContentEl: de.element(n[0].querySelector("md-menu-content"))
                                     })
                                 })(), s.menuContentEl[0] ? c.inherit(s.menuContentEl, s.target) : m.warn("$mdMenu: Menu elements should always contain a `md-menu-content` element,otherwise interactivity features will not work properly.", n);
                                 return s.cleanupResizing = (r = n, i = s, o = f.throttle(function() {
@@ -31503,7 +31516,7 @@
                                     }
                                 }), C.addEventListener("resize", o), C.addEventListener("orientationchange", o), function() {
                                     C.removeEventListener("resize", o), C.removeEventListener("orientationchange", o)
-                                }), s.hideBackdrop = (e = a, t = s, t.nestLevel ? ue.noop : (t.disableParentScroll && !w.getClosest(t.target, "MD-DIALOG") ? t.restoreScroll = w.disableScrollAround(t.element, t.parent) : t.disableParentScroll = !1, t.hasBackdrop && (t.backdrop = w.createBackdrop(e, "md-menu-backdrop md-click-catcher"), p.enter(t.backdrop, E[0].body)), function() {
+                                }), s.hideBackdrop = (e = a, t = s, t.nestLevel ? de.noop : (t.disableParentScroll && !w.getClosest(t.target, "MD-DIALOG") ? t.restoreScroll = w.disableScrollAround(t.element, t.parent) : t.disableParentScroll = !1, t.hasBackdrop && (t.backdrop = w.createBackdrop(e, "md-menu-backdrop md-click-catcher"), p.enter(t.backdrop, E[0].body)), function() {
                                     t.backdrop && t.backdrop.remove(), t.disableParentScroll && t.restoreScroll()
                                 })), (s.parent.append(n), n[0].style.display = "", d(function(e) {
                                     var t = b(n, s);
@@ -31516,7 +31529,7 @@
                                     }).start().then(e)
                                 })).then(function(e) {
                                     return s.alreadyOpen = !0, s.cleanupInteraction = function() {
-                                        if (!s.menuContentEl[0]) return ue.noop;
+                                        if (!s.menuContentEl[0]) return de.noop;
                                         s.menuContentEl.on("keydown", i), s.menuContentEl[0].addEventListener("click", o, !0);
                                         var e = s.menuContentEl[0].querySelector(k.buildSelector(["md-menu-focus-target", "md-autofocus"]));
                                         if (!e)
@@ -31586,7 +31599,7 @@
                                         }
                                     }(), s.cleanupBackdrop = s.backdrop ? (s.backdrop.on("click", l), function() {
                                         s.backdrop.off("click", l)
-                                    }) : ue.noop, n.addClass("md-clickable"), e
+                                    }) : de.noop, n.addClass("md-clickable"), e
                                 });
                                 var e, t;
                                 var r, i, o;
@@ -31677,7 +31690,7 @@
                                 default:
                                     throw new Error('Invalid target mode "' + h.top + '" specified for md-menu on Y axis.')
                             }
-                            var g = "rtl" === w.bidi();
+                            var g = w.isRtl(e);
                             switch (h.left) {
                                 case "target":
                                     p.left = f.left + c.left - d.left, m += g ? "right" : "left";
@@ -31708,27 +31721,27 @@
                             return {
                                 top: Math.round(p.top),
                                 left: Math.round(p.left),
-                                transform: t.alreadyOpen ? de : w.supplant("scale({0},{1})", [_, $]),
+                                transform: t.alreadyOpen ? fe : w.supplant("scale({0},{1})", [_, $]),
                                 transformOrigin: m
                             }
                         }
                     }
 
                     function i(e) {
-                        return e instanceof ue.element && (e = e[0]), e
+                        return e instanceof de.element && (e = e[0]), e
                     }
                 }
-                e.$inject = ["$$interimElementProvider"], ue.module("material.components.menu").provider("$mdMenu", e)
-            }(), ue.module("material.components.menuBar", ["material.core", "material.components.icon", "material.components.menu"]),
+                e.$inject = ["$$interimElementProvider"], de.module("material.components.menu").provider("$mdMenu", e)
+            }(), de.module("material.components.menuBar", ["material.core", "material.components.icon", "material.components.menu"]),
             function() {
-                e.$inject = ["$scope", "$rootScope", "$element", "$attrs", "$mdConstant", "$document", "$mdUtil", "$timeout"], ue.module("material.components.menuBar").controller("MenuBarController", e);
+                e.$inject = ["$scope", "$rootScope", "$element", "$attrs", "$mdConstant", "$document", "$mdUtil", "$timeout"], de.module("material.components.menuBar").controller("MenuBarController", e);
                 var c = ["handleKeyDown", "handleMenuHover", "scheduleOpenHoveredMenu", "cancelScheduledOpen"];
 
                 function e(e, t, n, r, i, o, a, s) {
                     this.$element = n, this.$attrs = r, this.$mdConstant = i, this.$mdUtil = a, this.$document = o, this.$scope = e, this.$rootScope = t, this.$timeout = s;
                     var l = this;
-                    ue.forEach(c, function(e) {
-                        l[e] = ue.bind(l, l[e])
+                    de.forEach(c, function(e) {
+                        l[e] = de.bind(l, l[e])
                     })
                 }
                 e.prototype.init = function() {
@@ -31743,7 +31756,7 @@
                         var r = s.getMenus();
                         if (-1 != r.indexOf(t[0]) && (o[0].classList.remove("md-open"), t[0].classList.remove("md-open")), o[0].contains(t[0])) {
                             for (var i = t[0]; i && -1 == r.indexOf(i);) i = a.getClosest(i, "MD-MENU", !0);
-                            i && (n.skipFocus || i.querySelector("button:not([disabled])").focus(), s.currentlyOpenMenu = de, s.disableOpenOnHover(), s.setKeyboardMode(!0))
+                            i && (n.skipFocus || i.querySelector("button:not([disabled])").focus(), s.currentlyOpenMenu = fe, s.disableOpenOnHover(), s.setKeyboardMode(!0))
                         }
                     })), e.$on("$destroy", function() {
                         for (s.disableOpenOnHover(); t.length;) t.shift()()
@@ -31754,21 +31767,21 @@
                     if (!this.openOnHoverEnabled) {
                         var e = this;
                         e.openOnHoverEnabled = !0, e.parentToolbar && (e.parentToolbar.classList.add("md-has-open-menu"), e.$mdUtil.nextTick(function() {
-                            ue.element(e.parentToolbar).on("click", e.handleParentClick)
-                        }, !1)), ue.element(e.getMenus()).on("mouseenter", e.handleMenuHover)
+                            de.element(e.parentToolbar).on("click", e.handleParentClick)
+                        }, !1)), de.element(e.getMenus()).on("mouseenter", e.handleMenuHover)
                     }
                 }, e.prototype.handleMenuHover = function(e) {
                     this.setKeyboardMode(!1), this.openOnHoverEnabled && this.scheduleOpenHoveredMenu(e)
                 }, e.prototype.disableOpenOnHover = function() {
-                    this.openOnHoverEnabled && (this.openOnHoverEnabled = !1, this.parentToolbar && (this.parentToolbar.classList.remove("md-has-open-menu"), ue.element(this.parentToolbar).off("click", this.handleParentClick)), ue.element(this.getMenus()).off("mouseenter", this.handleMenuHover))
+                    this.openOnHoverEnabled && (this.openOnHoverEnabled = !1, this.parentToolbar && (this.parentToolbar.classList.remove("md-has-open-menu"), de.element(this.parentToolbar).off("click", this.handleParentClick)), de.element(this.getMenus()).off("mouseenter", this.handleMenuHover))
                 }, e.prototype.scheduleOpenHoveredMenu = function(e) {
-                    var t = ue.element(e.currentTarget).controller("mdMenu");
+                    var t = de.element(e.currentTarget).controller("mdMenu");
                     this.setKeyboardMode(!1), this.scheduleOpenMenu(t)
                 }, e.prototype.scheduleOpenMenu = function(e) {
                     var t = this,
                         n = this.$timeout;
                     e != t.currentlyOpenMenu && (n.cancel(t.pendingMenuOpen), t.pendingMenuOpen = n(function() {
-                        t.pendingMenuOpen = de, t.currentlyOpenMenu && t.currentlyOpenMenu.close(!0, {
+                        t.pendingMenuOpen = fe, t.currentlyOpenMenu && t.currentlyOpenMenu.close(!0, {
                             closeAll: !0
                         }), e.open()
                     }, 200, !1))
@@ -31784,10 +31797,10 @@
                             o && o.close(), t = !0;
                             break;
                         case i.LEFT_ARROW:
-                            n = this.focusMenu(-1), a && (r = ue.element(n).controller("mdMenu"), this.scheduleOpenMenu(r)), t = !0;
+                            n = this.focusMenu(-1), a && (r = de.element(n).controller("mdMenu"), this.scheduleOpenMenu(r)), t = !0;
                             break;
                         case i.RIGHT_ARROW:
-                            n = this.focusMenu(1), a && (r = ue.element(n).controller("mdMenu"), this.scheduleOpenMenu(r)), t = !0
+                            n = this.focusMenu(1), a && (r = de.element(n).controller("mdMenu"), this.scheduleOpenMenu(r)), t = !0
                     }
                     t && (e && e.preventDefault && e.preventDefault(), e && e.stopImmediatePropagation && e.stopImmediatePropagation())
                 }, e.prototype.focusMenu = function(e) {
@@ -31797,7 +31810,7 @@
                     if (-1 == n ? r = !(n = 0) : (e < 0 && 0 < n || 0 < e && n < t.length - e) && (n += e, r = !0), r) return t[n].querySelector("button").focus(), t[n]
                 }, e.prototype.openFocusedMenu = function() {
                     var e = this.getFocusedMenu();
-                    e && ue.element(e).controller("mdMenu").open()
+                    e && de.element(e).controller("mdMenu").open()
                 }, e.prototype.getMenus = function() {
                     var e = this.$element;
                     return this.$mdUtil.nodesToArray(e[0].children).filter(function(e) {
@@ -31814,7 +31827,7 @@
                     return -1
                 }, e.prototype.handleParentClick = function(e) {
                     var t = this.querySelector("md-menu.md-open");
-                    t && !t.contains(e.target) && ue.element(t).controller("mdMenu").close(!0, {
+                    t && !t.contains(e.target) && de.element(t).controller("mdMenu").close(!0, {
                         closeAll: !0
                     })
                 }
@@ -31826,11 +31839,11 @@
                         require: "mdMenuBar",
                         controller: "MenuBarController",
                         compile: function(e, t) {
-                            return t.ariaRole || e[0].setAttribute("role", "menubar"), ue.forEach(e[0].children, function(e) {
+                            return t.ariaRole || e[0].setAttribute("role", "menubar"), de.forEach(e[0].children, function(e) {
                                     if ("MD-MENU" == e.nodeName) {
                                         e.hasAttribute("md-position-mode") || (e.setAttribute("md-position-mode", "left bottom"), e.querySelector("button, a, md-button").setAttribute("role", "menuitem"));
                                         var t = n.nodesToArray(e.querySelectorAll("md-menu-content"));
-                                        ue.forEach(t, function(e) {
+                                        de.forEach(t, function(e) {
                                             e.classList.add("md-menu-bar-menu"), e.classList.add("md-dense"), e.hasAttribute("width") || e.setAttribute("width", 5)
                                         })
                                     }
@@ -31841,8 +31854,8 @@
                         }
                     }
                 }
-                e.$inject = ["$mdUtil", "$mdTheming"], ue.module("material.components.menuBar").directive("mdMenuBar", e)
-            }(), ue.module("material.components.menuBar").directive("mdMenuDivider", function() {
+                e.$inject = ["$mdUtil", "$mdTheming"], de.module("material.components.menuBar").directive("mdMenuBar", e)
+            }(), de.module("material.components.menuBar").directive("mdMenuDivider", function() {
                 return {
                     restrict: "E",
                     compile: function(e, t) {
@@ -31854,13 +31867,13 @@
                 function e(e, t, n) {
                     this.$element = t, this.$attrs = n, this.$scope = e
                 }
-                e.$inject = ["$scope", "$element", "$attrs"], ue.module("material.components.menuBar").controller("MenuItemController", e), e.prototype.init = function(e) {
+                e.$inject = ["$scope", "$element", "$attrs"], de.module("material.components.menuBar").controller("MenuItemController", e), e.prototype.init = function(e) {
                     var t = this.$element,
                         n = this.$attrs;
                     this.ngModel = e, "checkbox" != n.type && "radio" != n.type || (this.mode = n.type, this.iconEl = t[0].children[0], this.buttonEl = t[0].children[1], e && this.initClickListeners())
                 }, e.prototype.clearNgAria = function() {
                     var t = this.$element[0];
-                    ue.forEach(["role", "tabindex", "aria-invalid", "aria-checked"], function(e) {
+                    de.forEach(["role", "tabindex", "aria-invalid", "aria-checked"], function(e) {
                         t.removeAttribute(e)
                     })
                 }, e.prototype.initClickListeners = function() {
@@ -31869,9 +31882,9 @@
                         n = this.$scope,
                         r = this.$attrs,
                         i = (this.$element, this.mode);
-                    this.handleClick = ue.bind(this, this.handleClick);
+                    this.handleClick = de.bind(this, this.handleClick);
                     var o = this.iconEl,
-                        a = ue.element(this.buttonEl),
+                        a = de.element(this.buttonEl),
                         s = this.handleClick;
 
                     function l(e) {
@@ -31905,9 +31918,9 @@
                             if ("checkbox" !== i && "radio" !== i || !r.hasClass(o)) c("role", "menuitem", r[0].querySelector("md-button, button, a"));
                             else {
                                 var a = r[0].textContent,
-                                    s = ue.element('<md-button type="button"></md-button>'),
+                                    s = de.element('<md-button type="button"></md-button>'),
                                     l = '<md-icon md-svg-src="' + d.mdChecked + '"></md-icon>';
-                                s.html(a), s.attr("tabindex", "0"), ue.isDefined(e.mdPreventMenuClose) && s.attr("md-prevent-menu-close", e.mdPreventMenuClose), r.html(""), r.append(ue.element(l)), r.append(s), r.addClass("md-indent").removeClass(o), c("role", "checkbox" === i ? "menuitemcheckbox" : "menuitemradio", s), t = "ng-disabled", n = u.prefixer(t), ue.forEach(n, function(e) {
+                                s.html(a), s.attr("tabindex", "0"), de.isDefined(e.mdPreventMenuClose) && s.attr("md-prevent-menu-close", e.mdPreventMenuClose), r.html(""), r.append(de.element(l)), r.append(s), r.addClass("md-indent").removeClass(o), c("role", "checkbox" === i ? "menuitemcheckbox" : "menuitemradio", s), t = "ng-disabled", n = u.prefixer(t), de.forEach(n, function(e) {
                                     if (r[0].hasAttribute(e)) {
                                         var t = r[0].getAttribute(e);
                                         s[0].setAttribute(e, t), r[0].removeAttribute(e)
@@ -31921,12 +31934,12 @@
                             };
 
                             function c(e, t, n) {
-                                (n = n || r) instanceof ue.element && (n = n[0]), n.hasAttribute(e) || n.setAttribute(e, t)
+                                (n = n || r) instanceof de.element && (n = n[0]), n.hasAttribute(e) || n.setAttribute(e, t)
                             }
                         }
                     }
                 }
-                e.$inject = ["$mdUtil", "$mdConstant", "$$mdSvgRegistry"], ue.module("material.components.menuBar").directive("mdMenuItem", e)
+                e.$inject = ["$mdUtil", "$mdConstant", "$$mdSvgRegistry"], de.module("material.components.menuBar").directive("mdMenuItem", e)
             }(),
             function() {
                 function e(i, o) {
@@ -31943,7 +31956,7 @@
                         },
                         template: '<div class="md-nav-bar"><nav role="navigation"><ul class="_md-nav-bar-list" ng-transclude role="tablist" ng-focus="ctrl.onFocus()" aria-label="{{ctrl.navBarAriaLabel}}"></ul></nav><md-nav-ink-bar ng-hide="ctrl.mdNoInkBar"></md-nav-ink-bar></div>',
                         link: function(e, t, n, r) {
-                            o(t), r.navBarAriaLabel || i.expectAsync(t, "aria-label", ue.noop)
+                            o(t), r.navBarAriaLabel || i.expectAsync(t, "aria-label", de.noop)
                         }
                     }
                 }
@@ -31973,10 +31986,10 @@
                                 a = t.mdNavSref,
                                 s = t.srefOpts;
                             if (1 < (i ? 1 : 0) + (o ? 1 : 0) + (a ? 1 : 0)) throw Error("Please do not specify more than one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");
-                            if (i !== de && null !== i) n = 'ng-click="ctrl.mdNavClick()"';
-                            else if (o !== de && null !== o) n = 'ng-href="{{ctrl.mdNavHref}}"';
+                            if (i !== fe && null !== i) n = 'ng-click="ctrl.mdNavClick()"';
+                            else if (o !== fe && null !== o) n = 'ng-href="{{ctrl.mdNavHref}}"';
                             else {
-                                if (a === de || null === a) throw Error("Please specify at least one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");
+                                if (a === fe || null === a) throw Error("Please specify at least one of the md-nav-click, md-nav-href, or md-nav-sref attributes per nav-item directive.");
                                 n = 'ui-sref="{{ctrl.mdNavSref}}"'
                             }
                             return n && (r = '<md-button class="_md-nav-button md-accent" ng-class="ctrl.getNgClassMap()" ng-blur="ctrl.setFocused(false)" ng-disabled="ctrl.disabled" tabindex="-1" role="tab" ng-attr-aria-label="{{ctrl.navItemAriaLabel ? ctrl.navItemAriaLabel : undefined}}" aria-selected="{{ctrl.isSelected()}}" ' + (s ? 'ui-sref-opts="{{ctrl.srefOpts}}" ' : "") + n + '><span ng-transclude class="_md-nav-button-text"></span></md-button>'), '<li class="md-nav-item" role="presentation">' + (r || "") + "</li>"
@@ -31992,7 +32005,7 @@
                         link: function(n, r, i, o) {
                             var a, s, l, c;
                             e(function() {
-                                if (s = o[0], l = o[1], c = ue.element(r[0].querySelector("._md-nav-button")), s.name || (s.name = ue.element(r[0].querySelector("._md-nav-button-text")).text().trim()), c.on("keydown", function(e) {
+                                if (s = o[0], l = o[1], c = de.element(r[0].querySelector("._md-nav-button")), s.name || (s.name = de.element(r[0].querySelector("._md-nav-button-text")).text().trim()), c.on("keydown", function(e) {
                                         l.onKeydown(e)
                                     }), c.on("focus", function() {
                                         l.getFocusedTab() || l.onFocus()
@@ -32023,11 +32036,11 @@
                 function r(e) {
                     this._$element = e, this.mdNavClick, this.mdNavHref, this.mdNavSref, this.srefOpts, this.name, this.navItemAriaLabel, this._selected = !1, this._focused = !1
                 }
-                e.$inject = ["$mdAria", "$mdTheming"], t.$inject = ["$element", "$scope", "$timeout", "$mdConstant"], n.$inject = ["$mdAria", "$$rAF", "$mdUtil", "$window"], r.$inject = ["$element"], ue.module("material.components.navBar", ["material.core"]).controller("MdNavBarController", t).directive("mdNavBar", e).controller("MdNavItemController", r).directive("mdNavItem", n), t.prototype._initTabs = function() {
-                    this._inkbar = ue.element(this._navBarEl.querySelector("md-nav-ink-bar"));
+                e.$inject = ["$mdAria", "$mdTheming"], t.$inject = ["$element", "$scope", "$timeout", "$mdConstant"], n.$inject = ["$mdAria", "$$rAF", "$mdUtil", "$window"], r.$inject = ["$element"], de.module("material.components.navBar", ["material.core"]).controller("MdNavBarController", t).directive("mdNavBar", e).controller("MdNavItemController", r).directive("mdNavItem", n), t.prototype._initTabs = function() {
+                    this._inkbar = de.element(this._navBarEl.querySelector("md-nav-ink-bar"));
                     var n = this;
                     this._$timeout(function() {
-                        n._updateTabs(n.mdSelectedNavItem, de)
+                        n._updateTabs(n.mdSelectedNavItem, fe)
                     }), this._$scope.$watch("ctrl.mdSelectedNavItem", function(e, t) {
                         n._$timeout(function() {
                             n._updateTabs(e, t)
@@ -32059,9 +32072,9 @@
                     }
                 }, t.prototype._getTabs = function() {
                     var e = Array.prototype.slice.call(this._navBarEl.querySelectorAll(".md-nav-item")).map(function(e) {
-                        return ue.element(e).controller("mdNavItem")
+                        return de.element(e).controller("mdNavItem")
                     });
-                    return e.indexOf(de) ? e : null
+                    return e.indexOf(fe) ? e : null
                 }, t.prototype._getTabByName = function(t) {
                     return this._findTab(function(e) {
                         return e.getName() === t
@@ -32076,13 +32089,13 @@
                     })
                 }, t.prototype._findTab = function(e, t) {
                     var n = this._getTabs();
-                    t !== de && null !== t || (t = 0);
+                    t !== fe && null !== t || (t = 0);
                     for (var r = t; r < n.length; r++)
                         if (e(n[r])) return n[r];
                     return null
                 }, t.prototype._findTabReverse = function(e, t) {
                     var n = this._getTabs();
-                    t !== de && null !== t || (t = n.length - 1);
+                    t !== fe && null !== t || (t = n.length - 1);
                     for (var r = t; 0 <= r; r--)
                         if (e(n[r])) return n[r];
                     return null
@@ -32171,7 +32184,7 @@
                 }
             }(),
             function() {
-                s.$inject = ["presets", "$rootElement", "$rootScope", "$injector", "$window"], ue.module("material.components.panel", ["material.core", "material.components.backdrop"]).provider("$mdPanel", function() {
+                s.$inject = ["presets", "$rootElement", "$rootScope", "$injector", "$window"], de.module("material.components.panel", ["material.core", "material.components.backdrop"]).provider("$mdPanel", function() {
                     return {
                         definePreset: e,
                         getAllPresets: t,
@@ -32183,7 +32196,7 @@
                 });
                 var o = 80,
                     a = "_md-panel-hidden",
-                    n = ue.element('<div class="_md-panel-focus-trap" tabindex="0"></div>'),
+                    n = de.element('<div class="_md-panel-focus-trap" tabindex="0"></div>'),
                     i = {};
 
                 function e(e, t) {
@@ -32193,7 +32206,7 @@
                 }
 
                 function t() {
-                    return ue.copy(i)
+                    return de.copy(i)
                 }
 
                 function r() {
@@ -32210,7 +32223,7 @@
                         fullscreen: !1,
                         hasBackdrop: !1,
                         propagateContainerEvents: !1,
-                        transformTemplate: ue.bind(this, this._wrapTemplate),
+                        transformTemplate: de.bind(this, this._wrapTemplate),
                         trapFocus: !1,
                         zIndex: o
                     }, this._config = {}, this._presets = e, this._$rootElement = t, this._$rootScope = n, this._$injector = r, this._$window = i, this._$mdUtil = this._$injector.get("$mdUtil"), this._trackedPanels = {}, this._groups = Object.create(null), this.animation = c.animation, this.xPosition = p.xPosition, this.yPosition = p.yPosition, this.interceptorTypes = l.interceptorTypes, this.closeReasons = l.closeReasons, this.absPosition = p.absPosition
@@ -32224,7 +32237,7 @@
                 }
 
                 function p(e) {
-                    this._$window = e.get("$window"), this._isRTL = "rtl" === e.get("$mdUtil").bidi(), this._$mdConstant = e.get("$mdConstant"), this._absolute = !1, this._relativeToEl, this._top = "", this._bottom = "", this._left = "", this._right = "", this._translateX = [], this._translateY = [], this._positions = [], this._actualPosition
+                    this._$window = e.get("$window"), this._isRTL = e.get("$mdUtil").isRtl(), this._$mdConstant = e.get("$mdConstant"), this._absolute = !1, this._relativeToEl, this._top = "", this._bottom = "", this._left = "", this._right = "", this._translateX = [], this._translateY = [], this._positions = [], this._actualPosition
                 }
 
                 function c(e) {
@@ -32232,27 +32245,27 @@
                 }
 
                 function u(e) {
-                    var t = ue.isString(e) ? document.querySelector(e) : e;
-                    return ue.element(t)
+                    var t = de.isString(e) ? document.querySelector(e) : e;
+                    return de.element(t)
                 }
 
                 function d(e) {
-                    return ue.isNumber(e) ? e + "px" : e
+                    return de.isNumber(e) ? e + "px" : e
                 }
                 s.prototype.create = function(e, t) {
-                    if ("string" == typeof e ? e = this._getPresetByName(e) : "object" != typeof e || !ue.isUndefined(t) && t || (t = e, e = {}), e = e || {}, t = t || {}, ue.isDefined(t.id) && this._trackedPanels[t.id]) {
+                    if ("string" == typeof e ? e = this._getPresetByName(e) : "object" != typeof e || !de.isUndefined(t) && t || (t = e, e = {}), e = e || {}, t = t || {}, de.isDefined(t.id) && this._trackedPanels[t.id]) {
                         var n = this._trackedPanels[t.id];
-                        return ue.extend(n.config, t), n
+                        return de.extend(n.config, t), n
                     }
-                    this._config = ue.extend({
+                    this._config = de.extend({
                         id: t.id || "panel_" + this._$mdUtil.nextUid(),
                         scope: this._$rootScope.$new(!0),
                         attachTo: this._$rootElement
                     }, this._defaultConfigOptions, t, e);
                     var r = new l(this._config, this._$injector);
-                    return this._trackedPanels[this._config.id] = r, this._config.groupName && (ue.isString(this._config.groupName) && (this._config.groupName = [this._config.groupName]), ue.forEach(this._config.groupName, function(e) {
+                    return this._trackedPanels[this._config.id] = r, this._config.groupName && (de.isString(this._config.groupName) && (this._config.groupName = [this._config.groupName]), de.forEach(this._config.groupName, function(e) {
                         r.addToGroup(e)
-                    })), this._config.scope.$on("$destroy", ue.bind(r, r.detach)), r
+                    })), this._config.scope.$on("$destroy", de.bind(r, r.detach)), r
                 }, s.prototype.open = function(e, t) {
                     var n = this.create(e, t);
                     return n.open().then(function() {
@@ -32289,7 +32302,7 @@
                 }, s.prototype._wrapTemplate = function(e) {
                     return '<div class="md-panel-outer-wrapper">  <div class="md-panel _md-panel-offscreen">' + (e || "") + "</div></div>"
                 }, s.prototype._wrapContentElement = function(e) {
-                    var t = ue.element('<div class="md-panel-outer-wrapper">');
+                    var t = de.element('<div class="md-panel-outer-wrapper">');
                     return e.addClass("md-panel _md-panel-offscreen"), t.append(e), t
                 }, l.interceptorTypes = {
                     CLOSE: "onClose"
@@ -32299,7 +32312,7 @@
                         var n = i._done(e, i),
                             r = i._simpleBind(i.show, i);
                         i.attach().then(r).then(function() {
-                            i.config.groupName && ue.forEach(i.config.groupName, function(e) {
+                            i.config.groupName && de.forEach(i.config.groupName, function(e) {
                                 i._$mdPanel._openCountExceedsMaxOpen(e) && i._$mdPanel._closeFirstOpenedPanel(e)
                             })
                         }).then(n).catch(t)
@@ -32310,8 +32323,8 @@
                         a._callInterceptors(l.interceptorTypes.CLOSE).then(function() {
                             var e = a._done(r, a),
                                 t = a._simpleBind(a.detach, a),
-                                n = a.config.onCloseSuccess || ue.noop;
-                            n = ue.bind(a, n, a, o), a.hide().then(t).then(e).then(n).catch(i)
+                                n = a.config.onCloseSuccess || de.noop;
+                            n = de.bind(a, n, a, o), a.hide().then(t).then(e).then(n).catch(i)
                         }, i)
                     })
                 }, l.prototype.attach = function() {
@@ -32319,7 +32332,7 @@
                     var i = this;
                     return this._$q(function(e, t) {
                         var n = i._done(e, i),
-                            r = i.config.onDomAdded || ue.noop;
+                            r = i.config.onDomAdded || de.noop;
                         i._$q.all([i._createBackdrop(), i._createPanel().then(function(e) {
                             return i.isAttached = !0, i._addEventListeners(), e
                         }).catch(t)]).then(r).then(n).catch(t)
@@ -32327,14 +32340,14 @@
                 }, l.prototype.detach = function() {
                     if (!this.isAttached) return this._$q.when(this);
                     var r = this,
-                        i = r.config.onDomRemoved || ue.noop;
+                        i = r.config.onDomRemoved || de.noop;
                     return this._restoreScroll && (this._restoreScroll(), this._restoreScroll = null), this._$q(function(e, t) {
                         var n = r._done(e, r);
                     })
                 }, l.prototype.destroy = function() {
                     var t = this;
-                    this.config.groupName && ue.forEach(this.config.groupName, function(e) {
+                    this.config.groupName && de.forEach(this.config.groupName, function(e) {
                         t.removeFromGroup(e)
                     }), this.config.scope.$destroy(), this.config.locals = null, this.config.onDomAdded = null, this.config.onDomRemoved = null, this.config.onRemoving = null, this.config.onOpenComplete = null, this._interceptors = null
                 }, l.prototype.show = function() {
@@ -32345,11 +32358,11 @@
                     var i = this;
                     return this._$q(function(e, t) {
                         var n = i._done(e, i),
-                            r = i.config.onOpenComplete || ue.noop;
+                            r = i.config.onOpenComplete || de.noop;
                         i._$q.all([i._backdropRef ? i._backdropRef.show() : i, (i.panelContainer.removeClass(a), i._animateOpen()).then(function() {
                             i._focusOnOpen()
                         }, t)]).then(r).then(function() {
-                            i.config.groupName && ue.forEach(i.config.groupName, function(e) {
+                            i.config.groupName && de.forEach(i.config.groupName, function(e) {
                                 i._$mdPanel._groups[e].openPanels.push(i)
                             })
                         }).then(n).catch(t)
@@ -32362,12 +32375,12 @@
                     var i = this;
                     return this._$q(function(e, t) {
                         var n = i._done(e, i),
-                            r = i.config.onRemoving || ue.noop;
+                            r = i.config.onRemoving || de.noop;
                         i._$q.all([i._backdropRef ? i._backdropRef.hide() : i, i._animateClose().then(r).then(function() {
                             i.panelContainer.addClass(a)
                         }).then(function() {
                             var t;
-                            i.config.groupName && ue.forEach(i.config.groupName, function(e) {
+                            i.config.groupName && de.forEach(i.config.groupName, function(e) {
                                 e = i._$mdPanel._groups[e], -1 < (t = e.openPanels.indexOf(i)) && e.openPanels.splice(t, 1)
                             })
                         }).then(function() {
@@ -32391,7 +32404,7 @@
                         if (t.contentElement) {
                             var n = e.element;
                             r._restoreCache.styles = n[0].style.cssText, r._restoreCache.classes = n[0].className, r.panelContainer = r._$mdPanel._wrapContentElement(n), r.panelEl = n
-                        } else r.panelContainer = e.link(t.scope), r.panelEl = ue.element(r.panelContainer[0].querySelector(".md-panel"));
+                        } else r.panelContainer = e.link(t.scope), r.panelEl = de.element(r.panelContainer[0].querySelector(".md-panel"));
                         return r._compilerCleanup = e.cleanup, u(r.config.attachTo).append(r.panelContainer), r
                     })
                 }, l.prototype._createPanel = function() {
@@ -32470,7 +32483,7 @@
                     }
                 }, l.prototype._configureClickOutsideToClose = function() {
                     if (this.config.clickOutsideToClose) {
-                        var t, n = this.config.propagateContainerEvents ? ue.element(document.body) : this.panelContainer,
+                        var t, n = this.config.propagateContainerEvents ? de.element(document.body) : this.panelContainer,
                             e = function(e) {
                                 t = e.target
                             },
@@ -32484,7 +32497,7 @@
                     }
                 }, l.prototype._configureScrollListener = function() {
                     if (!this.config.disableParentScroll) {
-                        var e = ue.bind(this, this._updatePosition),
+                        var e = de.bind(this, this._updatePosition),
                             t = this._$$rAF.throttle(e),
                             n = this,
                             r = function() {
@@ -32532,7 +32545,7 @@
                     })
                 }, l.prototype.registerInterceptor = function(e, t) {
                     var n = null;
-                    if (ue.isString(e) ? ue.isFunction(t) || (n = "Interceptor callback must be a function, instead got " + typeof t) : n = "Interceptor type must be a string, instead got " + typeof e, n) throw new Error("MdPanel: " + n);
+                    if (de.isString(e) ? de.isFunction(t) || (n = "Interceptor callback must be a function, instead got " + typeof t) : n = "Interceptor type must be a string, instead got " + typeof e, n) throw new Error("MdPanel: " + n);
                     var r = this._interceptors[e] = this._interceptors[e] || [];
                     return -1 === r.indexOf(t) && r.push(t), this
                 }, l.prototype.removeInterceptor = function(e, t) {
@@ -32544,7 +32557,7 @@
                     var r = this,
                         i = r._$q;
                     return (r._interceptors && r._interceptors[e] || []).reduceRight(function(e, t) {
-                        var n = t && ue.isFunction(t.then) ? t : null;
+                        var n = t && de.isFunction(t.then) ? t : null;
                         return e.then(function() {
                             if (!n) try {
                                 n = t(r)
@@ -32601,7 +32614,7 @@
                         }
                         this._top = this._bottom = ""
                     }
-                    return this["_" + e] = ue.isString(t) ? t : "0", this
+                    return this["_" + e] = de.isString(t) ? t : "0", this
                 }, p.prototype.top = function(e) {
                     return this._setPosition(p.absPosition.TOP, e)
                 }, p.prototype.bottom = function(e) {
@@ -32689,7 +32702,7 @@
                     return this._actualPosition
                 }, p.prototype._reduceTranslateValues = function(n, e) {
                     return e.map(function(e) {
-                        var t = ue.isFunction(e) ? d(e(this)) : e;
+                        var t = de.isFunction(e) ? d(e(this)) : e;
                         return n + "(" + t + ")"
                     }, this).join(" ")
                 }, p.prototype._setPanelPosition = function(e) {
@@ -32776,14 +32789,14 @@
                 }, c.prototype.closeTo = function(e) {
                     return this._closeTo = this._getPanelAnimationTarget(e), this
                 }, c.prototype.duration = function(e) {
-                    return e && (ue.isNumber(e) ? this._openDuration = this._closeDuration = t(e) : ue.isObject(e) && (this._openDuration = t(e.open), this._closeDuration = t(e.close))), this._rawDuration = e, this;
+                    return e && (de.isNumber(e) ? this._openDuration = this._closeDuration = t(e) : de.isObject(e) && (this._openDuration = t(e.open), this._closeDuration = t(e.close))), this._rawDuration = e, this;
 
                     function t(e) {
-                        if (ue.isNumber(e)) return e / 1e3
+                        if (de.isNumber(e)) return e / 1e3
                     }
                 }, c.prototype._getPanelAnimationTarget = function(e) {
-                    return ue.isDefined(e.top) || ue.isDefined(e.left) ? {
-                        element: de,
+                    return de.isDefined(e.top) || de.isDefined(e.left) ? {
+                        element: fe,
                         bounds: {
                             top: e.top || 0,
                             left: e.left || 0
@@ -32811,7 +32824,7 @@
                                 transitionInClass: "_md-panel-animate-enter"
                             };
                             var s = t.calculateZoomToOrigin(e, this._openFrom) || "";
-                            i = t.toTransformCss(s + " " + r);
+                            i = t.toTransformCss(r + " " + s);
                             break;
                         case c.animation.FADE:
                             n = {
@@ -32819,7 +32832,7 @@
                             };
                             break;
                         default:
-                            n = ue.isString(this._animationClass) ? {
+                            n = de.isString(this._animationClass) ? {
                                 transitionInClass: this._animationClass
                             } : {
                                 transitionInClass: this._animationClass.open,
@@ -32846,7 +32859,7 @@
                                 transitionInClass: "_md-panel-animate-scale-out _md-panel-animate-leave"
                             };
                             var s = t.calculateZoomToOrigin(e, this._closeTo) || "";
-                            o = t.toTransformCss(s + " " + r);
+                            o = t.toTransformCss(r + " " + s);
                             break;
                         case c.animation.FADE:
                             n = {
@@ -32854,7 +32867,7 @@
                             };
                             break;
                         default:
-                            n = ue.isString(this._animationClass) ? {
+                            n = de.isString(this._animationClass) ? {
                                 transitionOutClass: this._animationClass
                             } : {
                                 transitionInClass: this._animationClass.close,
@@ -32867,16 +32880,16 @@
                         n = e[0].offsetHeight;
                     this._openFrom && null == this._openFrom.bounds.height && (this._openFrom.bounds.height = n), this._openFrom && null == this._openFrom.bounds.width && (this._openFrom.bounds.width = t), this._closeTo && null == this._closeTo.bounds.height && (this._closeTo.bounds.height = n), this._closeTo && null == this._closeTo.bounds.width && (this._closeTo.bounds.width = t)
                 }, c.prototype._getBoundingClientRect = function(e) {
-                    if (e instanceof ue.element) return {
+                    if (e instanceof de.element) return {
                         element: e,
                         bounds: e[0].getBoundingClientRect()
                     }
                 }
-            }(), ue.module("material.components.progressCircular", ["material.core"]),
+            }(), de.module("material.components.progressCircular", ["material.core"]),
             function() {
                 function e(_, $, s, w, h, e) {
-                    var E = _.requestAnimationFrame || _.webkitRequestAnimationFrame || ue.noop,
-                        p = _.cancelAnimationFrame || _.webkitCancelAnimationFrame || _.webkitCancelRequestAnimationFrame || ue.noop,
+                    var E = _.requestAnimationFrame || _.webkitRequestAnimationFrame || de.noop,
+                        p = _.cancelAnimationFrame || _.webkitCancelAnimationFrame || _.webkitCancelRequestAnimationFrame || de.noop,
                         m = "determinate",
                         C = "indeterminate",
                         k = "_md-progress-circular-disabled",
@@ -32894,7 +32907,7 @@
                                     "aria-valuemin": 0,
                                     "aria-valuemax": 100,
                                     role: "progressbar"
-                                }), ue.isUndefined(t.mdMode)) {
+                                }), de.isUndefined(t.mdMode)) {
                                 var n = t.hasOwnProperty("value") ? m : C;
                                 t.$set("mdMode", n)
                             } else t.$set("mdMode", t.mdMode.trim());
@@ -32904,8 +32917,8 @@
 
                     function r(g, l, c) {
                         var v, e, t = l[0],
-                            a = ue.element(t.querySelector("svg")),
-                            b = ue.element(t.querySelector("path")),
+                            a = de.element(t.querySelector("svg")),
+                            b = de.element(t.querySelector("path")),
                             n = $.startIndeterminate,
                             r = $.endIndeterminate,
                             i = 0,
@@ -32946,7 +32959,7 @@
                             f(), v && p(v)
                         }), g.$watchGroup(["value", "mdMode", function() {
                             var e = t.disabled;
-                            return !0 === e || !1 === e ? e : ue.isDefined(l.attr("disabled"))
+                            return !0 === e || !1 === e ? e : de.isDefined(l.attr("disabled"))
                         }], function(e, t) {
                             var n = e[1],
                                 r = e[2],
@@ -33001,8 +33014,8 @@
                         return $.strokeWidth / 100 * e
                     }
                 }
-                e.$inject = ["$window", "$mdProgressCircular", "$mdTheming", "$mdUtil", "$interval", "$log"], ue.module("material.components.progressCircular").directive("mdProgressCircular", e)
-            }(), ue.module("material.components.progressCircular").provider("$mdProgressCircular", function() {
+                e.$inject = ["$window", "$mdProgressCircular", "$mdTheming", "$mdUtil", "$interval", "$log"], de.module("material.components.progressCircular").directive("mdProgressCircular", e)
+            }(), de.module("material.components.progressCircular").provider("$mdProgressCircular", function() {
                 var t = {
                     progressSize: 50,
                     strokeWidth: 10,
@@ -33019,7 +33032,7 @@
                 };
                 return {
                     configure: function(e) {
-                        return t = ue.extend(t, e || {})
+                        return t = de.extend(t, e || {})
                     },
                     $get: function() {
                         return t
@@ -33056,9 +33069,9 @@
                         d(n);
                         var i = r.hasOwnProperty("disabled"),
                             o = f.dom.animator.toCss,
-                            a = ue.element(n[0].querySelector(".md-bar1")),
-                            s = ue.element(n[0].querySelector(".md-bar2")),
-                            l = ue.element(n[0].querySelector(".md-container"));
+                            a = de.element(n[0].querySelector(".md-bar1")),
+                            s = de.element(n[0].querySelector(".md-bar2")),
+                            l = de.element(n[0].querySelector(".md-container"));
 
                         function c() {
                             var e = (r.mdMode || "").trim();
@@ -33080,13 +33093,13 @@
                                     r = o({
                                         transform: n
                                     });
-                                ue.element(e).css(r)
+                                de.element(e).css(r)
                             }
                         }
                         n.attr("md-mode", c()).toggleClass(v, i),
                             function() {
-                                if (ue.isUndefined(r.mdMode)) {
-                                    var e = ue.isDefined(r.value),
+                                if (de.isUndefined(r.mdMode)) {
+                                    var e = de.isDefined(r.value),
                                         t = e ? h : p;
                                     n.attr("md-mode", t), r.mdMode = t
                                 }
@@ -33096,7 +33109,7 @@
                             }), r.$observe("mdBufferValue", function(e) {
                                 u(a, b(e))
                             }), r.$observe("disabled", function(e) {
-                                i = !0 === e || !1 === e ? !!e : ue.isDefined(e), n.toggleClass(v, i), l.toggleClass(t, !i)
+                                i = !0 === e || !1 === e ? !!e : de.isDefined(e), n.toggleClass(v, i), l.toggleClass(t, !i)
                             }), r.$observe("mdMode", function(e) {
                                 switch (t && l.removeClass(t), e) {
                                     case g:
@@ -33115,13 +33128,13 @@
                         return Math.max(0, Math.min(e || 0, 100))
                     }
                 }
-                e.$inject = ["$mdTheming", "$mdUtil", "$log"], ue.module("material.components.progressLinear", ["material.core"]).directive("mdProgressLinear", e)
+                e.$inject = ["$mdTheming", "$mdUtil", "$log"], de.module("material.components.progressLinear", ["material.core"]).directive("mdProgressLinear", e)
             }(),
             function() {
                 function e(s, l, c, u) {
                     return e.prototype = {
                         init: function(e) {
-                            this._ngModelCtrl = e, this._ngModelCtrl.$render = ue.bind(this, this.render)
+                            this._ngModelCtrl = e, this._ngModelCtrl.$render = de.bind(this, this.render)
                         },
                         add: function(e) {
                             this._radioButtonRenderFns.push(e)
@@ -33181,7 +33194,7 @@
                                             e.preventDefault(), i.selectNext(), a();
                                             break;
                                         case l.KEY_CODE.ENTER:
-                                            var n = ue.element(s.getClosest(r[0], "form"));
+                                            var n = de.element(s.getClosest(r[0], "form"));
                                             0 < n.length && n.triggerHandler("submit")
                                     }
                                 }).on("mousedown", function(e) {
@@ -33206,9 +33219,9 @@
                         if (n.count()) {
                             var r = e[0].querySelector("md-radio-button.md-checked"),
                                 i = n[t < 0 ? "previous" : "next"](r, function(e) {
-                                    return !ue.element(e).attr("disabled")
+                                    return !de.element(e).attr("disabled")
                                 }) || n.first();
-                            ue.element(i).triggerHandler("click")
+                            de.element(i).triggerHandler("click")
                         }
                     }
                 }
@@ -33249,13 +33262,13 @@
                         }
                     }
                 }
-                e.$inject = ["$mdUtil", "$mdConstant", "$mdTheming", "$timeout"], t.$inject = ["$mdAria", "$mdUtil", "$mdTheming"], ue.module("material.components.radioButton", ["material.core"]).directive("mdRadioGroup", e).directive("mdRadioButton", t)
+                e.$inject = ["$mdUtil", "$mdConstant", "$mdTheming", "$timeout"], t.$inject = ["$mdAria", "$mdUtil", "$mdTheming"], de.module("material.components.radioButton", ["material.core"]).directive("mdRadioGroup", e).directive("mdRadioButton", t)
             }(),
             function() {
                 e.$inject = ["$mdSelect", "$mdUtil", "$mdConstant", "$mdTheming", "$mdAria", "$parse", "$sce", "$injector"], t.$inject = ["$parse", "$mdUtil", "$mdConstant", "$mdTheming"], n.$inject = ["$mdButtonInkRipple", "$mdUtil", "$mdTheming"], r.$inject = ["$$interimElementProvider"];
                 var j = 8,
                     m = 0,
-                    u = ue.element('<div class="md-container"><div class="md-icon"></div></div>');
+                    u = de.element('<div class="md-container"><div class="md-icon"></div></div>');
 
                 function e(M, A, S, D, O, N, I, e) {
                     var t = S.KEY_CODE;
@@ -33264,21 +33277,21 @@
                         restrict: "E",
                         require: ["^?mdInputContainer", "mdSelect", "ngModel", "?^form"],
                         compile: function(e, t) {
-                            var n = ue.element("<md-select-value><span></span></md-select-value>");
+                            var n = de.element("<md-select-value><span></span></md-select-value>");
                             n.append('<span class="md-select-icon" aria-hidden="true"></span>'), n.addClass("md-select-value"), n[0].hasAttribute("id") || n.attr("id", "select_value_label_" + A.nextUid());
                             var r = e.find("md-content");
-                            r.length || e.append(ue.element("<md-content>").append(e.contents()));
-                            r.attr("role", "presentation"), t.mdOnOpen && (e.find("md-content").prepend(ue.element('<div> <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false" md-diameter="25px"></md-progress-circular></div>')), e.find("md-option").attr("ng-show", "$$loadingAsyncDone"));
+                            r.length || e.append(de.element("<md-content>").append(e.contents()));
+                            r.attr("role", "presentation"), t.mdOnOpen && (e.find("md-content").prepend(de.element('<div> <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false" md-diameter="25px"></md-progress-circular></div>')), e.find("md-option").attr("ng-show", "$$loadingAsyncDone"));
                             if (t.name) {
-                                var i = ue.element('<select class="md-visually-hidden"></select>');
+                                var i = de.element('<select class="md-visually-hidden"></select>');
                                 i.attr({
                                     name: t.name,
                                     "aria-hidden": "true",
                                     tabindex: "-1"
                                 });
                                 var o = e.find("md-option");
-                                ue.forEach(o, function(e) {
-                                    var t = ue.element("<option>" + e.innerHTML + "</option>");
+                                de.forEach(o, function(e) {
+                                    var t = de.element("<option>" + e.innerHTML + "</option>");
                                     e.hasAttribute("ng-value") ? t.attr("ng-value", e.getAttribute("ng-value")) : e.hasAttribute("value") && t.attr("value", e.getAttribute("value")), i.append(t)
                                 }), i.append('<option ng-value="' + t.ngModel + '" selected></option>'), e.parent().append(i)
                             }
@@ -33293,7 +33306,7 @@
                                     f = e[2],
                                     h = e[3],
                                     p = n.find("md-select-value"),
-                                    m = ue.isDefined(o.readonly),
+                                    m = de.isDefined(o.readonly),
                                     g = A.parseAttributeBoolean(o.mdNoAsterisk);
                                 if (g && n.addClass("md-no-asterisk"), u) {
                                     var v = u.isErrorGetter || function() {
@@ -33302,7 +33315,7 @@
                                     if (u.input && n.find("md-select-header").find("input")[0] !== u.input[0]) throw new Error("<md-input-container> can only have *one* child <input>, <textarea> or <select> element!");
                                     u.input = n, u.label || O.expect(n, "aria-label", n.attr("placeholder")), i.$watch(v, u.setInvalid)
                                 }! function() {
-                                    if (a = ue.element(n[0].querySelector(".md-select-menu-container")), s = i, o.mdContainerClass) {
+                                    if (a = de.element(n[0].querySelector(".md-select-menu-container")), s = i, o.mdContainerClass) {
                                         var e = a[0].getAttribute("class") + " " + o.mdContainerClass;
                                         a[0].setAttribute("class", e)
                                     }(l = a.find("md-select-menu").controller("mdSelectMenu")).init(f, o.ngModel), n.on("$destroy", function() {
@@ -33310,6 +33323,31 @@
                                     })
                                 }(), D(n);
                                 var b, y = f.$render;
+                                if (f.$render = function() {
+                                        y(), _(), $(), C()
+                                    }, o.$observe("placeholder", f.$render), u && u.label && o.$observe("required", function(e) {
+                                        u.label.toggleClass("md-required", e && !g)
+                                    }), d.setLabelText = function(e) {
+                                        d.setIsPlaceholder(!e);
+                                        var t = !1;
+                                        if (o.mdSelectedText && o.mdSelectedHtml) throw Error("md-select cannot have both `md-selected-text` and `md-selected-html`");
+                                        if (o.mdSelectedText || o.mdSelectedHtml) e = N(o.mdSelectedText || o.mdSelectedHtml)(i), t = !0;
+                                        else if (!e) {
+                                            var n = o.placeholder || (u && u.label ? u.label.text() : "");
+                                            e = n || "", t = !0
+                                        }
+                                        var r = p.children().eq(0);
+                                        o.mdSelectedHtml ? r.html(I.getTrustedHtml(e)) : t ? r.text(e) : r.html(e)
+                                    }, d.setIsPlaceholder = function(e) {
+                                        e ? (p.addClass("md-select-placeholder"), u && u.label && u.label.addClass("md-placeholder")) : (p.removeClass("md-select-placeholder"), u && u.label && u.label.removeClass("md-placeholder"))
+                                    }, !m) {
+                                    n.on("focus", function(e) {
+                                        u && u.setFocused(!0)
+                                    }), n.on("blur", function(e) {
+                                        c && (c = !1, s._mdSelectIsOpen && e.stopImmediatePropagation());
+                                        u && u.setFocused(!1), C()
+                                    })
+                                }
 
                                 function _() {
                                     a && (l = l || a.find("md-select-menu").controller("mdSelectMenu"), d.setLabelText(l.selectedLabels()))
@@ -33323,28 +33361,7 @@
                                         n.attr("aria-label", e.length ? r + ": " + e : r)
                                     }
                                 }
-                                f.$render = function() {
-                                    y(), _(), $(), C()
-                                }, o.$observe("placeholder", f.$render), u && u.label && o.$observe("required", function(e) {
-                                    u.label.toggleClass("md-required", e && !g)
-                                }), d.setLabelText = function(e) {
-                                    d.setIsPlaceholder(!e);
-                                    var t = !1;
-                                    if (o.mdSelectedText && o.mdSelectedHtml) throw Error("md-select cannot have both `md-selected-text` and `md-selected-html`");
-                                    if (o.mdSelectedText || o.mdSelectedHtml) e = N(o.mdSelectedText || o.mdSelectedHtml)(i), t = !0;
-                                    else if (!e) {
-                                        var n = o.placeholder || (u && u.label ? u.label.text() : "");
-                                        e = n || "", t = !0
-                                    }
-                                    var r = p.children().eq(0);
-                                    o.mdSelectedHtml ? r.html(I.getTrustedHtml(e)) : t ? r.text(e) : r.html(e)
-                                }, d.setIsPlaceholder = function(e) {
-                                    e ? (p.addClass("md-select-placeholder"), u && u.label && u.label.addClass("md-placeholder")) : (p.removeClass("md-select-placeholder"), u && u.label && u.label.removeClass("md-placeholder"))
-                                }, m || (n.on("focus", function(e) {
-                                    u && u.setFocused(!0)
-                                }), n.on("blur", function(e) {
-                                    c && (c = !1, s._mdSelectIsOpen && e.stopImmediatePropagation()), s._mdSelectIsOpen || (u && u.setFocused(!1), C())
-                                })), d.triggerClose = function() {
+                                d.triggerClose = function() {
                                     N(o.mdOnClose)(i)
                                 }, i.$$postDigest(function() {
                                     ! function() {
@@ -33360,12 +33377,12 @@
                                     b = i.$watch(function() {
                                         return t(i)
                                     }, function(e, t) {
-                                        e === de && t === de || (e ? n.attr("multiple", "multiple") : n.removeAttr("multiple"), n.attr("aria-multiselectable", e ? "true" : "false"), a && (l.setMultiple(e), y = f.$render, f.$render = function() {
+                                        e === fe && t === fe || (e ? n.attr("multiple", "multiple") : n.removeAttr("multiple"), n.attr("aria-multiselectable", e ? "true" : "false"), a && (l.setMultiple(e), y = f.$render, f.$render = function() {
                                             y(), _(), $(), C()
                                         }, f.$render()))
                                     })
                                 }), o.$observe("disabled", function(e) {
-                                    ue.isString(e) && (e = !0), t !== de && t === e || ((t = e) ? n.attr({
+                                    de.isString(e) && (e = !0), t !== fe && t === e || ((t = e) ? n.attr({
                                         "aria-disabled": "true"
                                     }).removeAttr("tabindex").off("click", x).off("keydown", k) : n.attr({
                                         tabindex: o.tabindex,
@@ -33394,7 +33411,7 @@
                                         e.preventDefault();
                                         var t = l.optNodeForKeyboardSearch(e);
                                         if (!t || t.hasAttribute("disabled")) return;
-                                        var n = ue.element(t).controller("mdOption");
+                                        var n = de.element(t).controller("mdOption");
                                         l.isMultiple || l.deselect(Object.keys(l.selected)[0]), l.select(n.hashKey, n.value), l.refreshViewValue()
                                     }
                                 }
@@ -33411,7 +33428,7 @@
                                         hasBackdrop: !0,
                                         loadingAsync: !!o.mdOnOpen && (i.$eval(o.mdOnOpen) || !0)
                                     }).finally(function() {
-                                        s._mdSelectIsOpen = !1, n.focus(), n.attr("aria-expanded", "false"), f.$setTouched()
+                                        s._mdSelectIsOpen = !1, n.attr("aria-expanded", "false"), f.$setTouched()
                                     })
                                 }
                                 a.attr("id", E), n.find("md-select-menu").length || (w["aria-owns"] = E), n.attr(w), i.$on("$destroy", function() {
@@ -33437,11 +33454,11 @@
 
                                 function r(e) {
                                     var t = p.getClosest(e.target, "md-option"),
-                                        n = t && ue.element(t).data("$mdOptionController");
+                                        n = t && de.element(t).data("$mdOptionController");
                                     if (t && n) {
                                         if (t.hasAttribute("disabled")) return e.stopImmediatePropagation(), !1;
                                         var r = a.hashGetter(n.value),
-                                            i = ue.isDefined(a.selected[r]);
+                                            i = de.isDefined(a.selected[r]);
                                         o.$apply(function() {
                                             a.isMultiple ? i ? a.deselect(r) : a.select(r, n.value) : i || (a.deselect(Object.keys(a.selected)[0]), a.select(r, n.value)), a.refreshViewValue()
                                         })
@@ -33456,7 +33473,7 @@
 
                     function t(o, e, i) {
                         var a, s = this;
-                        s.isMultiple = ue.isDefined(e.multiple), s.selected = {}, s.options = {}, o.$watchCollection(function() {
+                        s.isMultiple = de.isDefined(e.multiple), s.selected = {}, s.options = {}, o.$watchCollection(function() {
                             return s.options
                         }, function() {
                             s.ngModel.$render()
@@ -33477,14 +33494,14 @@
                             } else delete t.$validators["md-multiple"], t.$render = f;
 
                             function i(e, t) {
-                                return ue.isArray(e || t || [])
+                                return de.isArray(e || t || [])
                             }
                         };
                         var r, l, c, u = "";
 
                         function d() {
                             var n = s.ngModel.$modelValue || s.ngModel.$viewValue || [];
-                            if (ue.isArray(n)) {
+                            if (de.isArray(n)) {
                                 var e = Object.keys(s.selected),
                                     t = n.map(s.hashGetter);
                                 e.filter(function(e) {
@@ -33501,10 +33518,10 @@
                         }
                         s.optNodeForKeyboardSearch = function(e) {
                             r && clearTimeout(r), r = setTimeout(function() {
-                                u = "", l = c = r = de
+                                u = "", l = c = r = fe
                             }, 300), u += e.key;
                             var t = new RegExp("^" + u, "i");
-                            l || (l = i.find("md-option"), c = new Array(l.length), ue.forEach(l, function(e, t) {
+                            l || (l = i.find("md-option"), c = new Array(l.length), de.forEach(l, function(e, t) {
                                 c[t] = e.textContent.trim()
                             }));
                             for (var n = 0; n < c.length; ++n)
@@ -33521,7 +33538,7 @@
                                     return r.$value = e, i(t || o, r)
                                 }
                             } else s.hashGetter = function(e) {
-                                return ue.isObject(e) ? "object_" + (e.$$mdSelectId || (e.$$mdSelectId = ++m)) : e
+                                return de.isObject(e) ? "object_" + (e.$$mdSelectId || (e.$$mdSelectId = ++m)) : e
                             };
                             s.setMultiple(s.isMultiple)
                         }, s.selectedLabels = function(e) {
@@ -33544,8 +33561,8 @@
                             var t = s.options[e];
                             t && t.setSelected(!1), delete s.selected[e]
                         }, s.addOption = function(e, t) {
-                            if (ue.isDefined(s.options[e])) throw new Error('Duplicate md-option values are not allowed in a select. Duplicate value "' + t.value + '" found.');
-                            s.options[e] = t, ue.isDefined(s.selected[e]) && (s.select(e, t.value), ue.isDefined(s.ngModel.$$rawModelValue) && s.hashGetter(s.ngModel.$$rawModelValue) === e && s.ngModel.$validate(), s.refreshViewValue())
+                            if (de.isDefined(s.options[e])) throw new Error('Duplicate md-option values are not allowed in a select. Duplicate value "' + t.value + '" found.');
+                            s.options[e] = t, de.isDefined(s.selected[e]) && (s.select(e, t.value), de.isDefined(s.ngModel.$$rawModelValue) && s.hashGetter(s.ngModel.$$rawModelValue) === e && s.ngModel.$validate(), s.refreshViewValue())
                         }, s.removeOption = function(e) {
                             delete s.options[e]
                         }, s.refreshViewValue = function() {
@@ -33554,7 +33571,7 @@
                             var r = p.getModelOption(s.ngModel, "trackBy"),
                                 i = s.isMultiple ? t : t[0],
                                 o = s.ngModel.$modelValue;
-                            (r ? ue.equals(o, i) : o + "" === i) || (s.ngModel.$setViewValue(i), s.ngModel.$render())
+                            (r ? de.equals(o, i) : o + "" === i) || (s.ngModel.$setViewValue(i), s.ngModel.$render())
                         }
                     }
                 }
@@ -33565,7 +33582,7 @@
                         require: ["mdOption", "^^mdSelectMenu"],
                         controller: e,
                         compile: function(e, t) {
-                            e.append(ue.element('<div class="md-text">').append(e.contents())), e.attr("tabindex", t.tabindex || "0"), n = t, r = n.value, i = n.ngValue, r || i || e.attr("md-option-empty", "");
+                            e.append(de.element('<div class="md-text">').append(e.contents())), e.attr("tabindex", t.tabindex || "0"), n = t, r = n.value, i = n.ngValue, r || i || e.attr("md-option-empty", "");
                             var n, r, i;
                             return o
                         }
@@ -33584,13 +33601,13 @@
                                 l(e, t, !0)
                             })
                         }
-                        c(t), s.isMultiple && (t.addClass("md-checkbox-enabled"), t.prepend(u.clone())), ue.isDefined(e.ngValue) ? o.$watch(e.ngValue, l) : ue.isDefined(e.value) ? l(e.value) : o.$watch(function() {
+                        c(t), s.isMultiple && (t.addClass("md-checkbox-enabled"), t.prepend(u.clone())), de.isDefined(e.ngValue) ? o.$watch(e.ngValue, l) : de.isDefined(e.value) ? l(e.value) : o.$watch(function() {
                                 return t.text().trim()
                             }, l), e.$observe("disabled", function(e) {
                                 e ? t.attr("tabindex", "-1") : t.attr("tabindex", "0")
                             }), o.$$postDigest(function() {
                                 e.$observe("selected", function(e) {
-                                    ue.isDefined(e) && ("string" == typeof e && (e = !0), e ? (s.isMultiple || s.deselect(Object.keys(s.selected)[0]), s.select(a.hashKey, a.value)) : s.deselect(a.hashKey), s.refreshViewValue())
+                                    de.isDefined(e) && ("string" == typeof e && (e = !0), e ? (s.isMultiple || s.deselect(Object.keys(s.selected)[0]), s.select(a.hashKey, a.value)) : s.deselect(a.hashKey), s.refreshViewValue())
                                 })
                             }), r.attach(o, t),
                             function() {
@@ -33636,10 +33653,10 @@
                                     function(e, t) {
                                         var n = s.find("md-select-menu");
                                         if (!t.target) throw new Error(I.supplant("$mdSelect.show() expected a target element in options.target but got '{0}'!", [t.target]));
-                                        ue.extend(t, {
+                                        de.extend(t, {
                                             isRemoved: !1,
-                                            target: ue.element(t.target),
-                                            parent: ue.element(t.parent),
+                                            target: de.element(t.target),
+                                            parent: de.element(t.parent),
                                             selectEl: n,
                                             contentEl: s.find("md-content"),
                                             optionNodes: n[0].getElementsByTagName("md-option")
@@ -33700,7 +33717,7 @@
                                             }
 
                                             function i(e) {
-                                                for (var t, n = I.nodesToArray(l.optionNodes), r = n.indexOf(l.focusedNode); - 1 === r ? r = 0 : "next" === e && r < n.length - 1 ? r++ : "prev" === e && 0 < r && r--, (t = n[r]).hasAttribute("disabled") && (t = de), !t && r < n.length - 1 && 0 < r;);
+                                                for (var t, n = I.nodesToArray(l.optionNodes), r = n.indexOf(l.focusedNode); - 1 === r ? r = 0 : "next" === e && r < n.length - 1 ? r++ : "prev" === e && 0 < r && r--, (t = n[r]).hasAttribute("disabled") && (t = fe), !t && r < n.length - 1 && 0 < r;);
                                                 t && t.focus(), l.focusedNode = t
                                             }
 
@@ -33730,7 +33747,7 @@
                                                     n = e.dropDown;
                                                 t.element.css(m.toCss(t.styles)), n.element.css(m.toCss(n.styles))
                                             }
-                                        }, (n = ue.element(R)).on("resize", t), n.on("orientationchange", t), function() {
+                                        }, (n = de.element(R)).on("resize", t), n.on("orientationchange", t), function() {
                                             n.off("resize", t), n.off("orientationchange", t)
                                         }), c(l.focusedNode), e
                                     }, l.hideBackdrop);
@@ -33813,7 +33830,7 @@
                                     } finally {}
                                     return n
                                 }(t, c);
-                            r = (i = n.loadingAsync) && ue.isFunction(i.then) ? c.firstElementChild || c : g || (b.length ? b[0] : v.length ? v[0] : c.firstElementChild || c), c.offsetWidth > m ? c.style["max-width"] = m + "px" : c.style.maxWidth = null, y && l.classList.add("md-overflow");
+                            r = (i = n.loadingAsync) && de.isFunction(i.then) ? c.firstElementChild || c : g || (b.length ? b[0] : v.length ? v[0] : c.firstElementChild || c), c.offsetWidth > m ? c.style["max-width"] = m + "px" : c.style.maxWidth = null, y && l.classList.add("md-overflow");
                             var _ = r;
                             "MD-OPTGROUP" === (_.tagName || "").toUpperCase() && (r = _ = v[0] || c.firstElementChild || c), n.focusedNode = _, o.style.display = "block";
                             var $, w, E, C, k, x, T = l.getBoundingClientRect(),
@@ -33842,7 +33859,7 @@
                                 N = Math.round(100 * Math.min(d.height / T.height, 1)) / 100;
                             return {
                                 container: {
-                                    element: ue.element(o),
+                                    element: de.element(o),
                                     styles: {
                                         left: Math.floor(H(f.left, w, f.right - D.width)),
                                         top: Math.floor(H(f.top, E, f.bottom - D.height)),
@@ -33851,7 +33868,7 @@
                                     }
                                 },
                                 dropDown: {
-                                    element: ue.element(l),
+                                    element: de.element(l),
                                     styles: {
                                         transformOrigin: C,
                                         transform: n.alreadyOpen ? "" : I.supplant("scale({0},{1})", [O, N])
@@ -33871,13 +33888,13 @@
                         r = e.keyCode <= 31;
                     return n && n.length && !r && !t.isMetaKey(e) && !t.isFnLockKey(e) && !t.hasModifierKey(e)
                 }
-                ue.module("material.components.select", ["material.core", "material.components.backdrop"]).directive("mdSelect", e).directive("mdSelectMenu", t).directive("mdOption", n).directive("mdOptgroup", function() {
+                de.module("material.components.select", ["material.core", "material.components.backdrop"]).directive("mdSelect", e).directive("mdSelectMenu", t).directive("mdOption", n).directive("mdOptgroup", function() {
                     return {
                         restrict: "E",
                         compile: function(t, n) {
                             t.parent().find("md-select-header").length || function() {
                                 var e = t.find("label");
-                                e.length || (e = ue.element("<label>"), t.prepend(e));
+                                e.length || (e = de.element("<label>"), t.prepend(e));
                                 e.addClass("md-container-ignore"), e.attr("aria-hidden", "true"), n.label && e.text(n.label)
                             }()
                         }
@@ -33917,7 +33934,7 @@
                         }
                     }]
                 }
-                ue.module("material.components.showHide", ["material.core"]).directive("ngShow", e("ngShow", !0)).directive("ngHide", e("ngHide", !1))
+                de.module("material.components.showHide", ["material.core"]).directive("ngShow", e("ngShow", !0)).directive("ngHide", e("ngHide", !1))
             }(),
             function() {
                 function e(r, l, c, i) {
@@ -33925,27 +33942,27 @@
                         d = {
                             find: function(e, t) {
                                 var n = r.get(e);
-                                return n || t ? n : (i.error(l.supplant(u, [e || ""])), de)
+                                return n || t ? n : (i.error(l.supplant(u, [e || ""])), fe)
                             },
                             waitFor: f
                         };
                     return function(e, t) {
-                        if (ue.isUndefined(e)) return d;
+                        if (de.isUndefined(e)) return d;
                         var n, r, i, o, a = !0 === t,
                             s = d.find(e, a);
-                        return !s && a ? d.waitFor(e) : !s && ue.isUndefined(t) ? (n = d, r = e, i = function() {
+                        return !s && a ? d.waitFor(e) : !s && de.isUndefined(t) ? (n = d, r = e, i = function() {
                             return !1
                         }, o = function() {
                             return c.when(l.supplant(u, [r || ""]))
-                        }, ue.extend({
+                        }, de.extend({
                             isLockedOpen: i,
                             isOpen: i,
                             toggle: o,
                             open: o,
                             close: o,
-                            onClose: ue.noop,
+                            onClose: de.noop,
                             then: function(e) {
-                                return f(r).then(e || ue.noop)
+                                return f(r).then(e || de.noop)
                             }
                         }, n)) : s
                     };
@@ -33972,7 +33989,7 @@
                             h = null,
                             p = C.when(!0),
                             n = w(e.mdIsLockedOpen),
-                            m = ue.element(x);
+                            m = de.element(x);
 
                         function g(e) {
                             return e.keyCode === i.KEY_CODE.ESCAPE ? v(e) : C.when(!0)
@@ -33981,7 +33998,7 @@
                         function v(e) {
                             return e.preventDefault(), t.close()
                         }
-                        e.mdDisableScrollTarget && ((f = k[0].querySelector(e.mdDisableScrollTarget)) ? f = ue.element(f) : E.warn(b.supplant('mdSidenav: couldn\'t find element matching selector "{selector}". Falling back to parent.', {
+                        e.mdDisableScrollTarget && ((f = k[0].querySelector(e.mdDisableScrollTarget)) ? f = de.element(f) : E.warn(b.supplant('mdSidenav: couldn\'t find element matching selector "{selector}". Falling back to parent.', {
                             selector: e.mdDisableScrollTarget
                         }))), f || (f = a.parent()), e.hasOwnProperty("mdDisableBackdrop") || (l = b.createBackdrop(o, "md-sidenav-backdrop md-opaque ng-enter")), e.hasOwnProperty("mdDisableCloseEvents") && (c = !0), a.addClass("_md"), y(a), l && y.inherit(l, a), a.on("$destroy", function() {
                             l && l.remove(), t.destroy()
@@ -34021,7 +34038,7 @@
                                     n.style.top = d.top, n.style.bottom = d.bottom, n.style.height = d.height, l[0].style.top = null, l[0].style.bottom = null, l[0].style.height = null, d = null
                                 }
                             }(r, e), e && (h = k[0].activeElement, u = _.getLastInteractionType());
-                            return i = e, i && !s ? (s = f.css("overflow"), f.css("overflow", "hidden")) : ue.isDefined(s) && (f.css("overflow", s), s = de), p = C.all([e && l ? $.enter(l, r) : l ? $.leave(l) : C.when(!0), $[e ? "removeClass" : "addClass"](a, "md-closed")]).then(function() {
+                            return i = e, i && !s ? (s = f.css("overflow"), f.css("overflow", "hidden")) : de.isDefined(s) && (f.css("overflow", s), s = fe), p = C.all([e && l ? $.enter(l, r) : l ? $.leave(l) : C.when(!0), $[e ? "removeClass" : "addClass"](a, "md-closed")]).then(function() {
                                 o.isOpen && (T(function() {
                                     m.triggerHandler("resize")
                                 }), n && n.focus()), t && t()
@@ -34063,7 +34080,7 @@
                         e && e !== o.$$mdHandle && (o.destroy(), o.destroy = n.register(o, e))
                     })
                 }
                     return {
                         restrict: "A",
                         require: "^mdSidenav",
@@ -34072,20 +34089,20 @@
                 }).controller("$mdSidenavController", n)
             }(),
             function() {
-                e.$inject = ["$$rAF", "$window", "$mdAria", "$mdUtil", "$mdConstant", "$mdTheming", "$mdGesture", "$parse", "$log", "$timeout"], ue.module("material.components.slider", ["material.core"]).directive("mdSlider", e).directive("mdSliderContainer", function() {
+                e.$inject = ["$$rAF", "$window", "$mdAria", "$mdUtil", "$mdConstant", "$mdTheming", "$mdGesture", "$parse", "$log", "$timeout"], de.module("material.components.slider", ["material.core"]).directive("mdSlider", e).directive("mdSliderContainer", function() {
                     return {
                         controller: function() {},
                         compile: function(e) {
                             var t = e.find("md-slider");
                             if (t) {
                                 var n = t.attr("md-vertical");
-                                return n !== de && e.attr("md-vertical", ""), t.attr("flex") || t.attr("flex", ""),
+                                return n !== fe && e.attr("md-vertical", ""), t.attr("flex") || t.attr("flex", ""),
                                     function(e, a, t, n) {
                                         function r(e) {
                                             a.children().attr("disabled", e), a.find("input").attr("disabled", e)
                                         }
                                         a.addClass("_md");
-                                        var s, i = ue.noop;
+                                        var s, i = de.noop;
                                         t.disabled ? r(!0) : t.ngDisabled && (i = e.$watch(t.ngDisabled, function(e) {
                                             r(e)
                                         })), e.$on("$destroy", function() {
@@ -34115,16 +34132,16 @@
                         require: ["?ngModel", "?^mdSliderContainer"],
                         template: '<div class="md-slider-wrapper"><div class="md-slider-content"><div class="md-track-container"><div class="md-track"></div><div class="md-track md-track-fill"></div><div class="md-track-ticks"></div></div><div class="md-thumb-container"><div class="md-thumb"></div><div class="md-focus-thumb"></div><div class="md-focus-ring"></div><div class="md-sign"><span class="md-thumb-text"></span></div><div class="md-disabled-thumb"></div></div></div></div>',
                         compile: function(e, t) {
-                            var n = ue.element(e[0].getElementsByClassName("md-slider-wrapper")),
+                            var n = de.element(e[0].getElementsByClassName("md-slider-wrapper")),
                                 r = t.tabindex || 0;
                             n.attr("tabindex", r), (t.disabled || t.ngDisabled) && n.attr("tabindex", -1);
                             return n.attr("role", "slider"), i.expect(e, "aria-label"), o
                         }
                     };
 
-                    function o(i, o, e, t) {
+                    function o(i, o, n, e) {
                         G(o);
-                        var r = t[0] || {
+                        var r = e[0] || {
                                 $setViewValue: function(e) {
                                     this.$viewValue = e, this.$viewChangeListeners.forEach(function(e) {
                                         e()
@@ -34134,33 +34151,33 @@
                                 $formatters: [],
                                 $viewChangeListeners: []
                             },
-                            n = t[1],
-                            a = (ue.element(W.getClosest(o, "_md-slider-container", !0)), e.ngDisabled ? ue.bind(null, Z(e.ngDisabled), i.$parent) : function() {
+                            a = e[1],
+                            s = (de.element(W.getClosest(o, "_md-slider-container", !0)), n.ngDisabled ? de.bind(null, Z(n.ngDisabled), i.$parent) : function() {
                                 return o[0].hasAttribute("disabled")
                             }),
-                            s = ue.element(o[0].querySelector(".md-thumb")),
-                            l = ue.element(o[0].querySelector(".md-thumb-text")),
-                            c = s.parent(),
-                            u = ue.element(o[0].querySelector(".md-track-container")),
-                            d = ue.element(o[0].querySelector(".md-track-fill")),
-                            f = ue.element(o[0].querySelector(".md-track-ticks")),
-                            h = ue.element(o[0].getElementsByClassName("md-slider-wrapper")),
-                            p = (ue.element(o[0].getElementsByClassName("md-slider-content")), W.throttle(D, 5e3)),
-                            m = ue.isDefined(e.mdVertical),
-                            g = ue.isDefined(e.mdDiscrete),
-                            v = ue.isDefined(e.mdInvert);
-                        ue.isDefined(e.min) ? e.$observe("min", x) : x(0), ue.isDefined(e.max) ? e.$observe("max", T) : T(100), ue.isDefined(e.step) ? e.$observe("step", M) : M(1), ue.isDefined(e.round) ? e.$observe("round", A) : A(3);
-                        ue.noop;
+                            t = de.element(o[0].querySelector(".md-thumb")),
+                            l = de.element(o[0].querySelector(".md-thumb-text")),
+                            c = t.parent(),
+                            u = de.element(o[0].querySelector(".md-track-container")),
+                            d = de.element(o[0].querySelector(".md-track-fill")),
+                            f = de.element(o[0].querySelector(".md-track-ticks")),
+                            h = de.element(o[0].getElementsByClassName("md-slider-wrapper")),
+                            p = (de.element(o[0].getElementsByClassName("md-slider-content")), W.throttle(D, 5e3)),
+                            m = de.isDefined(n.mdVertical),
+                            g = de.isDefined(n.mdDiscrete),
+                            v = de.isDefined(n.mdInvert);
+                        de.isDefined(n.min) ? n.$observe("min", x) : x(0), de.isDefined(n.max) ? n.$observe("max", T) : T(100), de.isDefined(n.step) ? n.$observe("step", M) : M(1), de.isDefined(n.round) ? n.$observe("round", A) : A(3);
+                        de.noop;
 
                         function b() {
                             D(), R()
                         }
-                        e.ngDisabled && i.$parent.$watch(e.ngDisabled, function() {
-                            o.attr("aria-disabled", !!a())
+                        n.ngDisabled && i.$parent.$watch(n.ngDisabled, function() {
+                            o.attr("aria-disabled", !!s())
                         }), K.register(h, "drag", {
                             horizontal: !m
                         }), i.mouseActive = !1, h.on("keydown", function(e) {
-                            if (a()) return;
+                            if (s()) return;
                             var t, n = Y.KEY_CODE;
                             switch (e.keyCode) {
                                 case n.DOWN_ARROW:
@@ -34186,14 +34203,14 @@
                             t && (t = v ? -t : t, (e.metaKey || e.ctrlKey || e.altKey) && (t *= ee), e.preventDefault(), e.stopPropagation(), N(r.$viewValue + t))
                         }).on("mousedown", function() {
                             (function() {
-                                if (!g || a()) return;
-                                if (ue.isUndefined($)) return;
+                                if (!g || s()) return;
+                                if (de.isUndefined($)) return;
                                 if ($ <= 0) {
                                     var e = "Slider step value must be greater than zero when in discrete mode";
                                     throw X.error(e), new Error(e)
                                 }
                                 var t = Math.floor((_ - y) / $);
-                                E || (E = ue.element("<canvas>").css("position", "absolute"), f.append(E), C = E[0].getContext("2d"));
+                                E || (E = de.element("<canvas>").css("position", "absolute"), f.append(E), C = E[0].getContext("2d"));
                                 var n, r = O();
                                 !r || r.height || r.width || (D(), r = S);
                                 E[0].width = r.width, E[0].height = r.height;
@@ -34215,21 +34232,21 @@
                                     }
                                 }()
                         }).on("$md.pressdown", function(e) {
-                            if (a()) return;
+                            if (s()) return;
                             o.addClass("md-active"), o[0].focus(), D();
                             var t = P(H(U(q(m ? e.pointer.y : e.pointer.x))));
                             i.$apply(function() {
                                 I(t), j(V(t))
                             })
                         }).on("$md.pressup", function(e) {
-                            if (a()) return;
+                            if (s()) return;
                             o.removeClass("md-dragging");
                             var t = P(H(U(q(m ? e.pointer.y : e.pointer.x))));
                             i.$apply(function() {
                                 I(t), R()
                             })
                         }).on("$md.dragstart", function(e) {
-                            if (a()) return;
+                            if (s()) return;
                             L = !0, e.stopPropagation(), o.addClass("md-dragging"), F(e)
                         }).on("$md.drag", function(e) {
                             if (!L) return;
@@ -34255,8 +34272,8 @@
                         function A(e) {
                             w = P(parseInt(e), 0, 6)
                         }
-                        ue.element(z).on("resize", k), i.$on("$destroy", function() {
-                            ue.element(z).off("resize", k)
+                        de.element(z).on("resize", k), i.$on("$destroy", function() {
+                            de.element(z).off("resize", k)
                         }), r.$render = R, r.$viewChangeListeners.push(R), r.$formatters.push(P), r.$formatters.push(H);
                         var S = {};
 
@@ -34285,14 +34302,14 @@
                         }
 
                         function P(e, t, n) {
-                            if (ue.isNumber(e)) return t = ue.isNumber(t) ? t : y, n = ue.isNumber(n) ? n : _, Math.max(t, Math.min(n, e))
+                            if (de.isNumber(e)) return t = de.isNumber(t) ? t : y, n = de.isNumber(n) ? n : _, Math.max(t, Math.min(n, e))
                         }
 
                         function H(e) {
-                            if (ue.isNumber(e)) {
+                            if (de.isNumber(e)) {
                                 var t = Math.round((e - y) / $) * $ + y;
-                                return t = Math.round(t * Math.pow(10, w)) / Math.pow(10, w), n && n.fitInputWidthToTextLength && W.debounce(function() {
-                                    n.fitInputWidthToTextLength(t.toString().length)
+                                return t = Math.round(t * Math.pow(10, w)) / Math.pow(10, w), a && a.fitInputWidthToTextLength && W.debounce(function() {
+                                    a.fitInputWidthToTextLength(t.toString().length)
                                 }, 100)(), t
                             }
                         }
@@ -34316,7 +34333,7 @@
 
                         function q(e) {
                             var t = (e - (m ? S.top : S.left)) / (m ? S.height : S.width);
-                            return m || "rtl" !== W.bidi() || (t = 1 - t), Math.max(0, Math.min(1, m ? 1 - t : t))
+                            return !m && W.isRtl(n) && (t = 1 - t), Math.max(0, Math.min(1, m ? 1 - t : t))
                         }
 
                         function U(e) {
@@ -34408,7 +34425,7 @@
                                         var t = e.element[0];
                                         for (e.top = 0, e.left = 0, e.right = 0; t && t !== i[0];) e.top += t.offsetTop, e.left += t.offsetLeft, t.offsetParent && (e.right += t.offsetParent.offsetWidth - t.offsetWidth - t.offsetLeft), t = t.offsetParent;
                                         e.height = e.element.prop("offsetHeight");
-                                        var n = d.floatingScrollbars() ? "0" : de;
+                                        var n = d.floatingScrollbars() ? "0" : fe;
                                         d.bidi(e.clone, "margin-left", e.left, n), d.bidi(e.clone, "margin-right", n, e.right)
                                     }
 
@@ -34425,7 +34442,7 @@
                                     }
 
                                     function l(e, t) {
-                                        e && (null === t || t === de ? e.translateY && (e.translateY = null, e.clone.css(c.CSS.TRANSFORM, "")) : (e.translateY = t, d.bidi(e.clone, c.CSS.TRANSFORM, "translate3d(" + e.left + "px," + t + "px,0)", "translateY(" + t + "px)")))
+                                        e && (null === t || t === fe ? e.translateY && (e.translateY = null, e.clone.css(c.CSS.TRANSFORM, "")) : (e.translateY = t, d.bidi(e.clone, c.CSS.TRANSFORM, "translate3d(" + e.left + "px," + t + "px,0)", "translateY(" + t + "px)")))
                                     }
                                 }(r), r.$element.data("$$sticky", i));
                                 var o = n || s(t.clone())(e),
@@ -34434,7 +34451,7 @@
                             }
                     }
                 }
-                e.$inject = ["$mdConstant", "$$rAF", "$mdUtil", "$compile"], ue.module("material.components.sticky", ["material.core", "material.components.content"]).factory("$mdSticky", e)
+                e.$inject = ["$mdConstant", "$$rAF", "$mdUtil", "$compile"], de.module("material.components.sticky", ["material.core", "material.components.content"]).factory("$mdSticky", e)
             }(),
             function() {
                 function e(s, l, c, u, d) {
@@ -34448,7 +34465,7 @@
                             var o = r[0].outerHTML;
 
                             function a(e) {
-                                return ue.element(e[0].querySelector(".md-subheader-content"))
+                                return de.element(e[0].querySelector(".md-subheader-content"))
                             }
                             e.$set("role", "heading"), d.expect(r, "aria-level", "2"), i(n, function(e) {
                                 a(r).append(e)
@@ -34461,7 +34478,7 @@
                         }
                     }
                 }
-                e.$inject = ["$mdSticky", "$compile", "$mdTheming", "$mdUtil", "$mdAria"], ue.module("material.components.subheader", ["material.core", "material.components.sticky"]).directive("mdSubheader", e)
+                e.$inject = ["$mdSticky", "$compile", "$mdTheming", "$mdUtil", "$mdAria"], de.module("material.components.subheader", ["material.core", "material.components.sticky"]).directive("mdSubheader", e)
             }(),
             function() {
                 function e(e) {
@@ -34490,7 +34507,7 @@
                         }
                     }
                 }
-                ue.module("material.components.swipe", ["material.core"]).directive("mdSwipeLeft", e("SwipeLeft")).directive("mdSwipeRight", e("SwipeRight")).directive("mdSwipeUp", e("SwipeUp")).directive("mdSwipeDown", e("SwipeDown"))
+                de.module("material.components.swipe", ["material.core"]).directive("mdSwipeLeft", e("SwipeLeft")).directive("mdSwipeRight", e("SwipeRight")).directive("mdSwipeUp", e("SwipeUp")).directive("mdSwipeDown", e("SwipeDown"))
             }(),
             function() {
                 function e(e, d, f, h, p, m, g) {
@@ -34511,9 +34528,9 @@
                                     null != e.disabled ? o = function() {
                                         return !0
                                     } : e.ngDisabled && (o = h(e.ngDisabled));
-                                    var a, s = ue.element(r[0].querySelector(".md-thumb-container")),
-                                        l = ue.element(r[0].querySelector(".md-container")),
-                                        c = ue.element(r[0].querySelector(".md-label"));
+                                    var a, s = de.element(r[0].querySelector(".md-thumb-container")),
+                                        l = de.element(r[0].querySelector(".md-container")),
+                                        c = de.element(r[0].querySelector(".md-label"));
                                     p(function() {
                                         r.removeClass("md-dragging")
                                     }), u(n, r, e, t), o && n.$watch(o, function(e) {
@@ -34544,8 +34561,8 @@
                         }
                     }
                 }
-                e.$inject = ["mdCheckboxDirective", "$mdUtil", "$mdConstant", "$parse", "$$rAF", "$mdGesture", "$timeout"], ue.module("material.components.switch", ["material.core", "material.components.checkbox"]).directive("mdSwitch", e)
-            }(), ue.module("material.components.tabs", ["material.core", "material.components.icon"]), ue.module("material.components.tabs").service("MdTabsPaginationService", function() {
+                e.$inject = ["mdCheckboxDirective", "$mdUtil", "$mdConstant", "$parse", "$$rAF", "$mdGesture", "$timeout"], de.module("material.components.switch", ["material.core", "material.components.checkbox"]).directive("mdSwitch", e)
+            }(), de.module("material.components.tabs", ["material.core", "material.components.icon"]), de.module("material.components.tabs").service("MdTabsPaginationService", function() {
                 return {
                     decreasePageOffset: function(e, t) {
                         var n, r, i = e.canvas,
@@ -34579,16 +34596,16 @@
                     for (t = 0; t < e.tabs.length; t++) n = e.tabs[t], r += n.offsetWidth;
                     return r
                 }
-            }), ue.module("material.components.tabs").directive("mdTab", function() {
+            }), de.module("material.components.tabs").directive("mdTab", function() {
                 return {
                     require: "^?mdTabs",
                     terminal: !0,
                     compile: function(e, t) {
                         var n = l(e, "md-tab-label"),
                             r = l(e, "md-tab-body");
-                        if (0 === n.length && (n = ue.element("<md-tab-label></md-tab-label>"), t.label ? n.text(t.label) : n.append(e.contents()), 0 === r.length)) {
+                        if (0 === n.length && (n = de.element("<md-tab-label></md-tab-label>"), t.label ? n.text(t.label) : n.append(e.contents()), 0 === r.length)) {
                             var i = e.contents().detach();
-                            (r = ue.element("<md-tab-body></md-tab-body>")).append(i)
+                            (r = de.element("<md-tab-body></md-tab-body>")).append(i)
                         }
                         return e.append(n), r.html() && e.append(r), o
                     },
@@ -34614,7 +34631,7 @@
                                 template: o.html(),
                                 label: a.html()
                             }, i);
-                        e.select = e.select || ue.noop, e.deselect = e.deselect || ue.noop, e.$watch("active", function(e) {
+                        e.select = e.select || de.noop, e.deselect = e.deselect || de.noop, e.$watch("active", function(e) {
                             e && r.select(s.getIndex(), !0)
                         }), e.$watch("disabled", function() {
                             r.refreshIndex()
@@ -34631,18 +34648,18 @@
                 function l(e, t) {
                     for (var n = e[0].children, r = 0, i = n.length; r < i; r++) {
                         var o = n[r];
-                        if (o.tagName === t.toUpperCase()) return ue.element(o)
+                        if (o.tagName === t.toUpperCase()) return de.element(o)
                     }
-                    return ue.element()
+                    return de.element()
                 }
-            }), ue.module("material.components.tabs").directive("mdTabItem", function() {
+            }), de.module("material.components.tabs").directive("mdTabItem", function() {
                 return {
                     require: "^?mdTabs",
                     link: function(e, t, n, r) {
                         r && r.attachRipple(e, t)
                     }
                 }
-            }), ue.module("material.components.tabs").directive("mdTabLabel", function() {
+            }), de.module("material.components.tabs").directive("mdTabLabel", function() {
                 return {
                     terminal: !0
                 }
@@ -34665,7 +34682,7 @@
                         }
                     }
                 }
-                e.$inject = ["$parse"], ue.module("material.components.tabs").directive("mdTabScroll", e)
+                e.$inject = ["$parse"], de.module("material.components.tabs").directive("mdTabScroll", e)
             }(),
             function() {
                 function e(c, u, n, r, i, d, l, o, a, s, t, f, h) {
@@ -34685,12 +34702,12 @@
                     }
 
                     function _() {
-                        v = !0, ue.element(n).off("resize", S)
+                        v = !0, de.element(n).off("resize", S)
                     }
 
                     function $() {
                         var e = N();
-                        ue.element(e.wrapper).toggleClass("md-stretch-tabs", function() {
+                        de.element(e.wrapper).toggleClass("md-stretch-tabs", function() {
                             switch (p.stretchTabs) {
                                 case "always":
                                     return !0;
@@ -34709,9 +34726,9 @@
                     function E(t, e) {
                         if (t !== e) {
                             var n = N();
-                            ue.forEach(n.tabs, function(e) {
+                            de.forEach(n.tabs, function(e) {
                                 e.style.maxWidth = t + "px"
-                            }), ue.forEach(n.dummies, function(e) {
+                            }), de.forEach(n.dummies, function(e) {
                                 e.style.maxWidth = t + "px"
                             }), d.nextTick(p.updateInkBarStyles)
                         }
@@ -34729,7 +34746,7 @@
 
                     function x(e) {
                         var t = (p.shouldCenterTabs || Y() ? "" : "-") + e + "px";
-                        t = t.replace("--", ""), ue.element(N().paging).css(r.CSS.TRANSFORM, "translate(" + t + ", 0)"), c.$broadcast("$mdTabsPaginationChanged")
+                        t = t.replace("--", ""), de.element(N().paging).css(r.CSS.TRANSFORM, "translate(" + t + ", 0)"), c.$broadcast("$mdTabsPaginationChanged")
                     }
 
                     function T(e, t) {
@@ -34753,7 +34770,7 @@
                     }
 
                     function D(e) {
-                        ue.element(N().inkBar).toggleClass("ng-hide", e)
+                        de.element(N().inkBar).toggleClass("ng-hide", e)
                     }
 
                     function O(e) {
@@ -34797,15 +34814,15 @@
                             var e;
                             if (p.noPagination || !b) return !1;
                             var t = u.prop("clientWidth");
-                            return ue.forEach(N().tabs, function(e) {
+                            return de.forEach(N().tabs, function(e) {
                                 t -= e.offsetWidth
-                            }), e = t < 0, d.msie && (N().paging.style.width = e ? "999999px" : de), e
+                            }), e = t < 0, d.msie && (N().paging.style.width = e ? "999999px" : fe), e
                         }()
                     }
 
                     function j(e) {
                         var t = 0;
-                        return ue.forEach(e, function(e) {
+                        return de.forEach(e, function(e) {
                             t += Math.max(e.offsetWidth, e.getBoundingClientRect().width)
                         }), Math.ceil(t)
                     }
@@ -34830,7 +34847,7 @@
 
                     function U(e) {
                         var t = N();
-                        if (ue.isNumber(e) || (e = p.focusIndex), t.tabs[e] && !p.shouldCenterTabs) {
+                        if (de.isNumber(e) || (e = p.focusIndex), t.tabs[e] && !p.shouldCenterTabs) {
                             var n = t.tabs[e],
                                 r = n.offsetLeft,
                                 i = n.offsetWidth + r;
@@ -34858,7 +34875,7 @@
                             i = n + r,
                             o = u.prop("clientHeight");
                         if (o !== i) {
-                            "bottom" === u.attr("md-align-tabs") && (o -= r, i -= r, u.attr("md-border-bottom") !== de && ++o), m = !0;
+                            "bottom" === u.attr("md-align-tabs") && (o -= r, i -= r, u.attr("md-border-bottom") !== fe && ++o), m = !0;
                             var a = {
                                     height: o + "px"
                                 },
@@ -34899,10 +34916,10 @@
                                             var e = N(),
                                                 t = p.selectedIndex,
                                                 n = p.lastSelectedIndex,
-                                                r = ue.element(e.inkBar);
-                                            if (!ue.isNumber(n)) return;
+                                                r = de.element(e.inkBar);
+                                            if (!de.isNumber(n)) return;
                                             r.toggleClass("md-left", t < n).toggleClass("md-right", n < t)
-                                        }(), ue.element(n.inkBar).css({
+                                        }(), de.element(n.inkBar).css({
                                             left: a + "px",
                                             right: s + "px"
                                         })
@@ -34914,7 +34931,7 @@
                                         }))
                                     })();
                             else g.push(p.updateInkBarStyles);
-                            else ue.element(n.inkBar).css({
+                            else de.element(n.inkBar).css({
                                 left: "auto",
                                 right: "auto"
                             })
@@ -34930,7 +34947,7 @@
                     }
 
                     function Y() {
-                        return "rtl" === d.bidi()
+                        return d.isRtl(o)
                     }
                     p.$onInit = function() {
                         (function(t, e) {
@@ -34939,14 +34956,14 @@
                             o.$observe(n, function(e) {
                                 p[t] = e
                             })
-                        })("stretchTabs", $), P("focusIndex", T, p.selectedIndex || 0), P("offsetLeft", x, 0), P("hasContent", k, !1), P("maxTabWidth", E, L()), P("shouldPaginate", C, !1), y("noInkBar", D), y("dynamicHeight", O), y("noPagination"), y("swipeContent"), y("noDisconnect"), y("autoselect"), y("noSelectClick"), y("centerTabs", w), y("enableDisconnect"), p.scope = c, p.parent = c.$parent, p.tabs = [], p.lastSelectedIndex = null, p.hasFocus = !1, p.styleTabItemFocus = !1, p.shouldCenterTabs = I(), p.tabContentPrefix = "tab-content-", p.navigationHint = "Use the left and right arrow keys to navigate between tabs", p.selectedIndex = p.selectedIndex || 0, e = o.$mdTabsTemplate, t = ue.element(u[0].querySelector("md-tab-data")), t.html(e), a(t.contents())(p.parent), delete o.$mdTabsTemplate, c.$watch("$mdTabsCtrl.selectedIndex", M), ue.element(n).on("resize", S), c.$on("$destroy", _), s(u), d.nextTick(function() {
+                        })("stretchTabs", $), P("focusIndex", T, p.selectedIndex || 0), P("offsetLeft", x, 0), P("hasContent", k, !1), P("maxTabWidth", E, L()), P("shouldPaginate", C, !1), y("noInkBar", D), y("dynamicHeight", O), y("noPagination"), y("swipeContent"), y("noDisconnect"), y("autoselect"), y("noSelectClick"), y("centerTabs", w), y("enableDisconnect"), p.scope = c, p.parent = c.$parent, p.tabs = [], p.lastSelectedIndex = null, p.hasFocus = !1, p.styleTabItemFocus = !1, p.shouldCenterTabs = I(), p.tabContentPrefix = "tab-content-", p.navigationHint = "Use the left and right arrow keys to navigate between tabs", p.selectedIndex = p.selectedIndex || 0, e = o.$mdTabsTemplate, t = de.element(u[0].querySelector("md-tab-data")), t.html(e), a(t.contents())(p.parent), delete o.$mdTabsTemplate, c.$watch("$mdTabsCtrl.selectedIndex", M), de.element(n).on("resize", S), c.$on("$destroy", _), s(u), d.nextTick(function() {
                             B(), U(), z(), p.tabs[p.selectedIndex] && p.tabs[p.selectedIndex].scope.select(), b = !0, H()
                         });
                         var e, t
                     }, p.updatePagination = d.debounce(H, 100), p.redirectFocus = q, p.attachRipple = function(e, t) {
                         var n = N(),
                             r = {
-                                colorElement: ue.element(n.inkBar)
+                                colorElement: de.element(n.inkBar)
                             };
                         i.attach(e, t, r)
                     }, p.insertTab = function(e, t) {
@@ -34973,8 +34990,8 @@
                                 id: d.nextUid(),
                                 hasContent: !(!e.template || !e.template.trim())
                             },
-                            i = ue.extend(r, e);
-                        ue.isDefined(t) ? p.tabs.splice(t, 0, i) : p.tabs.push(i);
+                            i = de.extend(r, e);
+                        de.isDefined(t) ? p.tabs.splice(t, 0, i) : p.tabs.push(i);
                         return g.forEach(function(e) {
                                 d.nextTick(e)
                             }), g = [],
@@ -34990,7 +35007,7 @@
                                     function(e) {
                                         if (e.hasContent) {
                                             var t = u[0].querySelectorAll('[md-tab-id="' + e.id + '"]');
-                                            ue.element(t).attr("aria-controls", p.tabContentPrefix + e.id)
+                                            de.element(t).attr("aria-controls", p.tabContentPrefix + e.id)
                                         }
                                     }(i), n && p.autoselect && d.nextTick(function() {
                                         d.nextTick(function() {
@@ -35051,9 +35068,9 @@
                     }, 100), p.getFocusedTabId = function() {
                         var e = p.tabs[p.focusIndex];
                         return e && e.id ? "tab-item-" + e.id : null
-                    }, 1 === ue.version.major && ue.version.minor <= 4 && this.$onInit()
+                    }, 1 === de.version.major && de.version.minor <= 4 && this.$onInit()
                 }
-                e.$inject = ["$scope", "$element", "$window", "$mdConstant", "$mdTabInkRipple", "$mdUtil", "$animateCss", "$attrs", "$compile", "$mdTheming", "$mdInteraction", "$timeout", "MdTabsPaginationService"], ue.module("material.components.tabs").controller("MdTabsController", e)
+                e.$inject = ["$scope", "$element", "$window", "$mdConstant", "$mdTabInkRipple", "$mdUtil", "$animateCss", "$attrs", "$compile", "$mdTheming", "$mdInteraction", "$timeout", "MdTabsPaginationService"], de.module("material.components.tabs").controller("MdTabsController", e)
             }(),
             function() {
                 function e(n) {
@@ -35070,7 +35087,7 @@
                         bindToController: !0
                     }
                 }
-                e.$inject = ["$$mdSvgRegistry"], ue.module("material.components.tabs").directive("mdTabs", e)
+                e.$inject = ["$$mdSvgRegistry"], de.module("material.components.tabs").directive("mdTabs", e)
             }(),
             function() {
                 function e(l, c) {
@@ -35098,7 +35115,7 @@
                         }
                     }
                 }
-                e.$inject = ["$mdUtil", "$window"], ue.module("material.components.tabs").directive("mdTabsDummyWrapper", e)
+                e.$inject = ["$mdUtil", "$window"], de.module("material.components.tabs").directive("mdTabsDummyWrapper", e)
             }(),
             function() {
                 function e(a, s) {
@@ -35125,7 +35142,7 @@
                         require: "^?mdTabs"
                     }
                 }
-                e.$inject = ["$compile", "$mdUtil"], ue.module("material.components.tabs").directive("mdTabsTemplate", e)
+                e.$inject = ["$compile", "$mdUtil"], de.module("material.components.tabs").directive("mdTabsTemplate", e)
             }(),
             function() {
                 function e(n) {
@@ -35188,7 +35205,7 @@
                                     "down" === r && -1 !== o.position.indexOf("top") && !a || "up" === r && (-1 !== o.position.indexOf("bottom") || a) || ("left" !== r && "right" !== r || !a) && (i.addClass("md-" + n), l.nextTick(s.cancel))
                                 }, o.openClass = (t = o.position, c("gt-xs") ? "md-toast-open-" + (-1 < t.indexOf("top") ? "top" : "bottom") : "md-toast-open-bottom"), i.addClass(o.toastClass), o.parent.addClass(o.openClass), l.hasComputedStyle(o.parent, "position", "static") && o.parent.css("position", "relative");
                                 var t;
-                                n = e.toast && e.toast.actionKey ? e.toast.actionKey : de, u.on("keydown", function(e) {
+                                n = e.toast && e.toast.actionKey ? e.toast.actionKey : fe, u.on("keydown", function(e) {
                                     "Escape" === e.key && s.hide(!1), n && e.key === n && e.ctrlKey && s.hide(h)
                                 }), i.on(d, o.onSwipe), i.addClass(a ? "md-bottom" : o.position.split(" ").map(function(e) {
                                     return "md-" + e
@@ -35217,8 +35234,8 @@
                                     n.innerHTML = e;
                                     for (var r = 0; r < n.children.length; r++)
                                         if ("MD-TOAST" === n.children[r].nodeName) {
-                                            var i = ue.element('<div class="md-toast-content">');
-                                            i.append(ue.element(n.children[r].childNodes)), n.children[r].appendChild(i[0])
+                                            var i = de.element('<div class="md-toast-content">');
+                                            i.append(de.element(n.children[r].childNodes)), n.children[r].appendChild(i[0])
                                         } return n.innerHTML
                                 }
                                 return e || ""
@@ -35226,19 +35243,19 @@
                         }
                     }
                 }
-                e.$inject = ["$mdToast"], t.$inject = ["$$interimElementProvider"], ue.module("material.components.toast", ["material.core", "material.components.button"]).directive("mdToast", e).provider("$mdToast", t)
+                e.$inject = ["$mdToast"], t.$inject = ["$$interimElementProvider"], de.module("material.components.toast", ["material.core", "material.components.button"]).directive("mdToast", e).provider("$mdToast", t)
             }(),
             function() {
                 function e(m, g, v, e, b) {
-                    var y = ue.bind(null, v.supplant, "translate3d(0,{0}px,0)");
+                    var y = de.bind(null, v.supplant, "translate3d(0,{0}px,0)");
                     return {
                         template: "",
                         restrict: "E",
                         link: function(f, h, p) {
                             h.addClass("_md"), e(h), v.nextTick(function() {
                                 h.addClass("_md-toolbar-transitions")
-                            }, !1), ue.isDefined(p.mdScrollShrink) && function() {
-                                var n, r, i = ue.noop,
+                            }, !1), de.isDefined(p.mdScrollShrink) && function() {
+                                var n, r, i = de.noop,
                                     o = 0,
                                     a = 0,
                                     s = p.mdShrinkSpeedFactor || .5,
@@ -35265,7 +35282,7 @@
                                 function d() {
                                     return r ? (r.on("scroll", l), r.attr("scroll-shrink", "true"), v.nextTick(e, !1), function() {
                                         r.off("scroll", l), r.attr("scroll-shrink", "false"), e()
-                                    }) : ue.noop
+                                    }) : de.noop
                                 }
 
                                 function e() {
@@ -35280,7 +35297,7 @@
                         }
                     }
                 }
-                e.$inject = ["$$rAF", "$mdConstant", "$mdUtil", "$mdTheming", "$animate"], ue.module("material.components.toolbar", ["material.core", "material.components.content"]).directive("mdToolbar", e)
+                e.$inject = ["$$rAF", "$mdConstant", "$mdUtil", "$mdTheming", "$animate"], de.module("material.components.toolbar", ["material.core", "material.components.content"]).directive("mdToolbar", e)
             }(),
             function() {
                 function e(b, y, _, $, w, E, C, k) {
@@ -35346,7 +35363,7 @@
                                 e ? function() {
                                     if (!r[0].textContent.trim()) throw new Error("Text for the tooltip has not been provided. Please include text within the mdTooltip element.");
                                     if (!a) {
-                                        var e = ue.element(document.body),
+                                        var e = de.element(document.body),
                                             t = C.newPanelAnimation().openFrom(d).closeTo(d).withAnimation({
                                                 open: "md-show",
                                                 close: "md-hide"
@@ -35438,9 +35455,9 @@
                         }
                     }
                 }
-                e.$inject = ["$timeout", "$window", "$$rAF", "$document", "$interpolate", "$mdUtil", "$mdPanel", "$$mdTooltipRegistry"], ue.module("material.components.tooltip", ["material.core", "material.components.panel"]).directive("mdTooltip", e).service("$$mdTooltipRegistry", function() {
+                e.$inject = ["$timeout", "$window", "$$rAF", "$document", "$interpolate", "$mdUtil", "$mdPanel", "$$mdTooltipRegistry"], de.module("material.components.tooltip", ["material.core", "material.components.panel"]).directive("mdTooltip", e).service("$$mdTooltipRegistry", function() {
                     var o = {},
-                        a = ue.element(F);
+                        a = de.element(F);
                     return {
                         register: function(e, t, n) {
                             var r = o[e] = o[e] || [];
@@ -35463,7 +35480,7 @@
                 function e(e) {
                     e.addClass("md-truncate")
                 }
-                e.$inject = ["$element"], ue.module("material.components.truncate", ["material.core"]).directive("mdTruncate", function() {
+                e.$inject = ["$element"], de.module("material.components.truncate", ["material.core"]).directive("mdTruncate", function() {
                     return {
                         restrict: "AE",
                         controller: e
@@ -35474,7 +35491,7 @@
                 function e(e) {
                     return '<div class="md-virtual-repeat-scroller" role="presentation"><div class="md-virtual-repeat-sizer" role="presentation"></div><div class="md-virtual-repeat-offsetter" role="presentation">' + e[0].innerHTML + "</div></div>"
                 }
-                t.$inject = ["$$rAF", "$mdUtil", "$mdConstant", "$parse", "$rootScope", "$window", "$scope", "$element", "$attrs"], i.$inject = ["$scope", "$element", "$attrs", "$browser", "$document", "$rootScope", "$$rAF", "$mdUtil"], n.$inject = ["$parse"], ue.module("material.components.virtualRepeat", ["material.core", "material.components.showHide"]).directive("mdVirtualRepeatContainer", function() {
+                t.$inject = ["$$rAF", "$mdUtil", "$mdConstant", "$parse", "$rootScope", "$window", "$scope", "$element", "$attrs"], i.$inject = ["$scope", "$element", "$attrs", "$browser", "$document", "$rootScope", "$$rAF", "$mdUtil"], n.$inject = ["$parse"], de.module("material.components.virtualRepeat", ["material.core", "material.components.showHide"]).directive("mdVirtualRepeatContainer", function() {
                     return {
                         controller: t,
                         template: e,
@@ -35485,14 +35502,14 @@
                 }).directive("mdVirtualRepeat", n).directive("mdForceHeight", o);
 
                 function t(e, n, t, r, i, o, a, s, l) {
-                    this.$rootScope = i, this.$scope = a, this.$element = s, this.$attrs = l, this.size = 0, this.scrollSize = 0, this.scrollOffset = 0, this.horizontal = this.$attrs.hasOwnProperty("mdOrientHorizontal"), this.repeater = null, this.autoShrink = this.$attrs.hasOwnProperty("mdAutoShrink"), this.autoShrinkMin = parseInt(this.$attrs.mdAutoShrinkMin, 10) || 0, this.originalSize = null, this.offsetSize = parseInt(this.$attrs.mdOffsetSize, 10) || 0, this.oldElementSize = null, this.maxElementPixels = t.ELEMENT_MAX_PIXELS, this.$attrs.mdTopIndex ? (this.bindTopIndex = r(this.$attrs.mdTopIndex), this.topIndex = this.bindTopIndex(this.$scope), ue.isDefined(this.topIndex) || (this.topIndex = 0, this.bindTopIndex.assign(this.$scope, 0)), this.$scope.$watch(this.bindTopIndex, ue.bind(this, function(e) {
+                    this.$rootScope = i, this.$scope = a, this.$element = s, this.$attrs = l, this.size = 0, this.scrollSize = 0, this.scrollOffset = 0, this.horizontal = this.$attrs.hasOwnProperty("mdOrientHorizontal"), this.repeater = null, this.autoShrink = this.$attrs.hasOwnProperty("mdAutoShrink"), this.autoShrinkMin = parseInt(this.$attrs.mdAutoShrinkMin, 10) || 0, this.originalSize = null, this.offsetSize = parseInt(this.$attrs.mdOffsetSize, 10) || 0, this.oldElementSize = null, this.maxElementPixels = t.ELEMENT_MAX_PIXELS, this.ltr = !n.isRtl(this.$attrs), this.$attrs.mdTopIndex ? (this.bindTopIndex = r(this.$attrs.mdTopIndex), this.topIndex = this.bindTopIndex(this.$scope), de.isDefined(this.topIndex) || (this.topIndex = 0, this.bindTopIndex.assign(this.$scope, 0)), this.$scope.$watch(this.bindTopIndex, de.bind(this, function(e) {
                         e !== this.topIndex && this.scrollToIndex(e)
                     }))) : this.topIndex = 0, this.scroller = s[0].querySelector(".md-virtual-repeat-scroller"), this.sizer = this.scroller.querySelector(".md-virtual-repeat-sizer"), this.offsetter = this.scroller.querySelector(".md-virtual-repeat-offsetter");
-                    var c = ue.bind(this, this.updateSize);
-                    e(ue.bind(this, function() {
+                    var c = de.bind(this, this.updateSize);
+                    e(de.bind(this, function() {
                         c();
                         var e = n.debounce(c, 10, null, !1),
-                            t = ue.element(o);
+                            t = de.element(o);
                         this.size || e(), t.on("resize", e), a.$on("$destroy", function() {
                             t.off("resize", e)
                         }), a.$emit("$md-resize-enable"), a.$on("$md-resize", c)
@@ -35520,11 +35537,11 @@
                 }
 
                 function i(e, t, n, r, i, o, a, s) {
-                    this.$scope = e, this.$element = t, this.$attrs = n, this.$browser = r, this.$document = i, this.$mdUtil = s, this.$rootScope = o, this.$$rAF = a, this.onDemand = s.parseAttributeBoolean(n.mdOnDemand), this.browserCheckUrlChange = r.$$checkUrlChange, this.newStartIndex = 0, this.newEndIndex = 0, this.newVisibleEnd = 0, this.startIndex = 0, this.endIndex = 0, this.itemSize = e.$eval(n.mdItemSize) || null, this.isFirstRender = !0, this.isVirtualRepeatUpdating_ = !1, this.itemsLength = 0, this.unwatchItemSize_ = ue.noop, this.blocks = {}, this.pooledBlocks = [], e.$on("$destroy", ue.bind(this, this.cleanupBlocks_))
+                    this.$scope = e, this.$element = t, this.$attrs = n, this.$browser = r, this.$document = i, this.$mdUtil = s, this.$rootScope = o, this.$$rAF = a, this.onDemand = s.parseAttributeBoolean(n.mdOnDemand), this.browserCheckUrlChange = r.$$checkUrlChange, this.newStartIndex = 0, this.newEndIndex = 0, this.newVisibleEnd = 0, this.startIndex = 0, this.endIndex = 0, this.itemSize = e.$eval(n.mdItemSize) || null, this.isFirstRender = !0, this.isVirtualRepeatUpdating_ = !1, this.itemsLength = 0, this.unwatchItemSize_ = de.noop, this.blocks = {}, this.pooledBlocks = [], e.$on("$destroy", de.bind(this, this.cleanupBlocks_))
                 }
 
                 function r(e) {
-                    if (!ue.isFunction(e.getItemAtIndex) || !ue.isFunction(e.getLength)) throw Error("When md-on-demand is enabled, the Object passed to md-virtual-repeat must implement functions getItemAtIndex() and getLength().");
+                    if (!de.isFunction(e.getItemAtIndex) || !de.isFunction(e.getLength)) throw Error("When md-on-demand is enabled, the Object passed to md-virtual-repeat must implement functions getItemAtIndex() and getLength().");
                     this.model = e
                 }
 
@@ -35538,7 +35555,7 @@
                     }
                 }
                 t.prototype.register = function(e) {
-                    this.repeater = e, ue.element(this.scroller).on("scroll wheel touchmove touchend", ue.bind(this, this.handleScroll_))
+                    this.repeater = e, de.element(this.scroller).on("scroll wheel touchmove touchend", de.bind(this, this.handleScroll_))
                 }, t.prototype.isHorizontal = function() {
                     return this.horizontal
                 }, t.prototype.getSize = function() {
@@ -35596,25 +35613,24 @@
                 }, t.prototype.resetScroll = function() {
                     this.scrollTo(0)
                 }, t.prototype.handleScroll_ = function() {
-                    var e = "rtl" !== document.dir && "rtl" !== document.body.dir;
-                    e || this.maxSize || (this.scroller.scrollLeft = this.scrollSize, this.maxSize = this.scroller.scrollLeft);
-                    var t = this.isHorizontal() ? e ? this.scroller.scrollLeft : this.maxSize - this.scroller.scrollLeft : this.scroller.scrollTop;
-                    if (!(this.scrollSize < this.size) && (t > this.scrollSize - this.size && (t = this.scrollSize - this.size), t !== this.scrollOffset)) {
-                        var n = this.repeater.getItemSize();
-                        if (n) {
-                            var r = Math.max(0, Math.floor(t / n) - 3),
-                                i = (this.isHorizontal() ? "translateX(" : "translateY(") + (!this.isHorizontal() || e ? r * n : -r * n) + "px)";
-                            if (this.scrollOffset = t, this.offsetter.style.webkitTransform = i, this.offsetter.style.transform = i, this.bindTopIndex) {
-                                var o = Math.floor(t / n);
-                                o !== this.topIndex && o < this.repeater.getItemCount() && (this.topIndex = o, this.bindTopIndex.assign(this.$scope, o), this.$rootScope.$$phase || this.$scope.$digest())
+                    this.ltr || this.maxSize || (this.scroller.scrollLeft = this.scrollSize, this.maxSize = this.scroller.scrollLeft);
+                    var e = this.isHorizontal() ? this.ltr ? this.scroller.scrollLeft : this.maxSize - this.scroller.scrollLeft : this.scroller.scrollTop;
+                    if (!(this.scrollSize < this.size) && (e > this.scrollSize - this.size && (e = this.scrollSize - this.size), e !== this.scrollOffset)) {
+                        var t = this.repeater.getItemSize();
+                        if (t) {
+                            var n = Math.max(0, Math.floor(e / t) - 3),
+                                r = (this.isHorizontal() ? "translateX(" : "translateY(") + (!this.isHorizontal() || this.ltr ? n * t : -n * t) + "px)";
+                            if (this.scrollOffset = e, this.offsetter.style.webkitTransform = r, this.offsetter.style.transform = r, this.bindTopIndex) {
+                                var i = Math.floor(e / t);
+                                i !== this.topIndex && i < this.repeater.getItemCount() && (this.topIndex = i, this.bindTopIndex.assign(this.$scope, i), this.$rootScope.$$phase || this.$scope.$digest())
                             }
                             this.repeater.containerUpdated()
                         }
                     }
                 }, i.prototype.link_ = function(e, t, n, r, i) {
-                    this.container = e, this.transclude = t, this.repeatName = n, this.rawRepeatListExpression = r, this.extraName = i, this.sized = !1, this.repeatListExpression = ue.bind(this, this.repeatListExpression_), this.container.register(this)
+                    this.container = e, this.transclude = t, this.repeatName = n, this.rawRepeatListExpression = r, this.extraName = i, this.sized = !1, this.repeatListExpression = de.bind(this, this.repeatListExpression_), this.container.register(this)
                 }, i.prototype.cleanupBlocks_ = function() {
-                    ue.forEach(this.pooledBlocks, function(e) {
+                    de.forEach(this.pooledBlocks, function(e) {
                         e.element.remove()
                     })
                 }, i.prototype.readItemSize_ = function() {
@@ -35631,10 +35647,10 @@
                     }
                     return t
                 }, i.prototype.containerUpdated = function() {
-                    if (!this.itemSize) return this.unwatchItemSize_ && this.unwatchItemSize_ !== ue.noop && this.unwatchItemSize_(), this.unwatchItemSize_ = this.$scope.$watchCollection(this.repeatListExpression, ue.bind(this, function(e) {
+                    if (!this.itemSize) return this.unwatchItemSize_ && this.unwatchItemSize_ !== de.noop && this.unwatchItemSize_(), this.unwatchItemSize_ = this.$scope.$watchCollection(this.repeatListExpression, de.bind(this, function(e) {
                         e && e.length && this.readItemSize_()
                     })), void(this.$rootScope.$$phase || this.$scope.$digest());
-                    this.sized || (this.items = this.repeatListExpression(this.$scope)), this.sized || (this.unwatchItemSize_(), this.sized = !0, this.$scope.$watchCollection(this.repeatListExpression, ue.bind(this, function(e, t) {
+                    this.sized || (this.items = this.repeatListExpression(this.$scope)), this.sized || (this.unwatchItemSize_(), this.sized = !0, this.$scope.$watchCollection(this.repeatListExpression, de.bind(this, function(e, t) {
                         this.isVirtualRepeatUpdating_ || this.virtualRepeatUpdate_(e, t)
                     }))), this.updateIndexes_(), (this.newStartIndex !== this.startIndex || this.newEndIndex !== this.endIndex || this.container.getScrollOffset() > this.container.getScrollSize()) && (this.items instanceof r && this.items.$$includeIndexes(this.newStartIndex, this.newEndIndex), this.virtualRepeatUpdate_(this.items, this.items))
                 }, i.prototype.getItemSize = function() {
@@ -35653,7 +35669,7 @@
                     n !== this.itemsLength && (r = !0, this.itemsLength = n), ((this.items = e) !== t || r) && this.updateIndexes_(), this.parentNode = this.$element[0].parentNode, r && this.container.setScrollSize(n * this.itemSize), Object.keys(this.blocks).forEach(function(e) {
                         var t = parseInt(e, 10);
                         (t < this.newStartIndex || t >= this.newEndIndex) && this.poolBlock_(t)
-                    }, this), this.$browser.$$checkUrlChange = ue.noop;
+                    }, this), this.$browser.$$checkUrlChange = de.noop;
                     var o, a, s = [],
                         l = [];
                     for (o = this.newStartIndex; o < this.newEndIndex && null == this.blocks[o]; o++) a = this.getBlock_(o), this.updateBlock_(a, o), s.push(a);
@@ -35668,7 +35684,7 @@
                     }
                     this.isVirtualRepeatUpdating_ = !1
                 }, i.prototype.getBlock_ = function(n) {
-                    return this.pooledBlocks.length ? this.pooledBlocks.pop() : (this.transclude(ue.bind(this, function(e, t) {
+                    return this.pooledBlocks.length ? this.pooledBlocks.pop() : (this.transclude(de.bind(this, function(e, t) {
                         r = {
                             element: e,
                             new: !0,
@@ -35709,11 +35725,11 @@
                         }
                     }
                 }
-                e.$inject = ["$log"], ue.module("material.components.whiteframe", ["material.core"]).directive("mdWhiteframe", e)
+                e.$inject = ["$log"], de.module("material.components.whiteframe", ["material.core"]).directive("mdWhiteframe", e)
     }(window, window.angular), window.ngMaterial = {
         version: {
-            full: "1.1.19"
+            full: "1.1.20"
         }
     },
     function(c, e) {
diff --git a/snippet/1.0.14/styles/app.css b/snippet/1.0.14/styles/app.css
index 02d66d9..26bc96f 100644
--- a/snippet/1.0.14/styles/app.css
+++ b/snippet/1.0.14/styles/app.css
@@ -1,3 +1,10 @@
+.md-button.md-fab.md-mini {
+    line-height: 20px !important;
+    width: 26px !important;
+    height: 24px !important;
+    min-height: 24px !important
+}
+
 .emojionearea .emojionearea-picker {
     width: 100% !important;
     right: 0 !important;
diff --git a/snippet/1.0.14/styles/mobile.css b/snippet/1.0.14/styles/mobile.css
index 0c966f6..cec942f 100644
--- a/snippet/1.0.14/styles/mobile.css
+++ b/snippet/1.0.14/styles/mobile.css
@@ -141,12 +141,11 @@ iframe[id='motion-chat-iframe'] {
 
 #chat_tab_arrow {
 
-    /* font-family: Sans-Serif; */
+    font-family: Serif;
     font-size: 25px;
     padding-left: 5px;
     padding-top: 0px;
     width: 18px;
-    height: 25px;
     margin-left: 1px;
     margin-top: 1px;
     font-weight: bolder !important;
diff --git a/snippet/1.0.14/styles/vendor.css b/snippet/1.0.14/styles/vendor.css
index fa46abb..1417f16 100644
--- a/snippet/1.0.14/styles/vendor.css
+++ b/snippet/1.0.14/styles/vendor.css
@@ -15616,7 +15616,7 @@ all and (min-resolution :144dpi) {
  * AngularJS Material Design
  * https://github.com/angular/material
  * @license MIT
- * v1.1.19
+ * v1.1.20
  */
 body,
 html {
@@ -37563,8 +37563,8 @@ md-toolbar~md-content>md-list md-list-item:last-child md-divider {
     -moz-border-radius: 5px;
     -webkit-border-radius: 5px;
     border-radius: 5px;
-    height: 276px;
-    width: 316px;
+    height: 286px;
+    width: 100%;
     top: -15px;
     right: -15px;
     z-index: 90;
@@ -37585,8 +37585,8 @@ md-toolbar~md-content>md-list md-list-item:last-child md-divider {
 
 .emojionearea .emojionearea-picker .emojionearea-wrapper {
     position: relative;
-    height: 276px;
-    width: 316px
+    height: 100%;
+    width: 100%
 }
 
 .emojionearea .emojionearea-picker .emojionearea-wrapper:after {
@@ -37655,8 +37655,7 @@ md-toolbar~md-content>md-list md-list-item:last-child md-divider {
 
 .emojionearea .emojionearea-picker .emojionearea-search-panel .emojionearea-tones {
     float: right;
-    margin-right: 10px;
-    margin-top: -1px
+    margin-top: 0
 }
 
 .emojionearea .emojionearea-picker .emojionearea-tones-panel .emojionearea-tones {
@@ -37669,13 +37668,13 @@ md-toolbar~md-content>md-list md-list-item:last-child md-divider {
     float: left;
     padding: 0;
     height: 20px;
-    width: 160px
+    width: 140px
 }
 
 .emojionearea .emojionearea-picker .emojionearea-search>input {
     outline: 0;
-    width: 160px;
-    min-width: 160px;
+    width: 140px;
+    min-width: 140px;
     height: 20px
 }
 
@@ -37793,7 +37792,7 @@ md-toolbar~md-content>md-list md-list-item:last-child md-divider {
 }
 
 .emojionearea .emojionearea-picker .emojionearea-scroll-area {
-    height: 236px
+    height: 206px
 }
 
 .emojionearea .emojionearea-picker .emojionearea-search-panel+.emojionearea-scroll-area {
-- 
1.7.1