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

From: Andrea Bianco <[email-masked]>
Date: Sun, 12 Jan 2020 13:38:30 +0100

---
 apidoc/api_data.js                                 |35219 +-------------------
 apidoc/api_data.json                               |35219 +-------------------
 apidoc/api_definition.js                           |    1 -
 apidoc/api_definition.json                         |    1 -
 apidoc/api_project.js                              |   25 +-
 apidoc/api_project.json                            |   25 +-
 apidoc/css/style.css                               |    1 +
 apidoc/index.html                                  |   46 +-
 apidoc/locales/zh.js                               |   10 +-
 apidoc/locales/zh_cn.js                            |    2 -
 apidoc/main.js                                     |  104 +-
 apidoc/utils/handlebars_helper.js                  |   11 +-
 apidoc/utils/send_sample_request.js                |  427 +-
 apidoc/vendor/bootstrap.min.css                    |    6 +-
 apidoc/vendor/bootstrap.min.js                     |    7 +-
 apidoc/vendor/jquery.min.js                        |    6 +-
 apidoc/vendor/lodash.custom.min.js                 |   72 +-
 public/app/main/apps/contactmanager/i18n/sv.json   |   10 +-
 public/app/main/apps/dashboards/i18n/sv.json       |   12 +-
 public/app/main/apps/mail/i18n/sv.json             |    2 +-
 public/app/main/apps/motiondialer/i18n/sv.json     |   28 +-
 public/assets/plugins/mxgraph/css/explorer.css     |    6 +-
 public/index.html                                  |    2 +-
 public/scripts/app.887c52ae.js                     |    1 -
 public/scripts/app.bef8ee9b.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                        |  300 +-
 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 +-
 1075 files changed, 1475 insertions(+), 72167 deletions(-)
 delete mode 100644 apidoc/api_definition.js
 delete mode 100644 apidoc/api_definition.json
 delete mode 100644 public/scripts/app.887c52ae.js
 create mode 100644 public/scripts/app.bef8ee9b.js

diff --git a/apidoc/api_data.js b/apidoc/api_data.js
index 05bcb21..5c5aebc 100644
--- a/apidoc/api_data.js
+++ b/apidoc/api_data.js
@@ -1,35218 +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": "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/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": "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": "authToken",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "host",
-            "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/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": "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": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "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/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 e9c0c9b..a4288cb 100644
--- a/apidoc/api_data.json
+++ b/apidoc/api_data.json
@@ -1,35218 +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": "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/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": "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": "authToken",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "host",
-            "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/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": "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": "authToken",
            "description": ""
          },
          {
            "group": "Body",
            "type": "String",
            "optional": true,
            "field": "host",
            "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/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_definition.js b/apidoc/api_definition.js
deleted file mode 100644
index 47b3bdc..0000000
--- a/apidoc/api_definition.js
+++ /dev/null
@@ -1 +0,0 @@
-define({ "api": undefined });
diff --git a/apidoc/api_definition.json b/apidoc/api_definition.json
deleted file mode 100644
index 417b7b5..0000000
--- a/apidoc/api_definition.json
+++ /dev/null
@@ -1 +0,0 @@
-undefined
diff --git a/apidoc/api_project.js b/apidoc/api_project.js
index 96efbc0..6362107 100644
--- a/apidoc/api_project.js
+++ b/apidoc/api_project.js
@@ -1,24 +1 @@
-define({
-  "name": "xCALLY Motion API",
-  "version": "2.4.2",
-  "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 class=\"prettyprint lang-sh\">GET /api/users\n</pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre class=\"prettyprint lang-sh\">https://motion.xcally.com/api/users\n</pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre class=\"prettyprint lang-sh\">GET  /api/users/{id}\n</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 class=\"prettyprint lang-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</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 class=\"prettyprint lang-sh\">curl -H \"Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo\" https://motion.xcally.com/api/users\n</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 class=\"prettyprint lang-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</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-10T22:47:52.189Z",
-    "url": "http://apidocjs.com",
-    "version": "0.19.1"
-  }
-});
+define({
  "name": "xCALLY Motion API",
  "version": "2.4.2",
  "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-12T12:30:58.327Z",
    "url": "http://apidocjs.com",
    "version": "0.17.7"
  }
});
diff --git a/apidoc/api_project.json b/apidoc/api_project.json
index 3e096e2..5c5402c 100644
--- a/apidoc/api_project.json
+++ b/apidoc/api_project.json
@@ -1,24 +1 @@
-{
-  "name": "xCALLY Motion API",
-  "version": "2.4.2",
-  "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 class=\"prettyprint lang-sh\">GET /api/users\n</pre>\n<p>Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:</p>\n<pre class=\"prettyprint lang-sh\">https://motion.xcally.com/api/users\n</pre>\n<p>Curly braces, <code>{}</code>, indicate values you have to supply. Example:</p>\n<pre class=\"prettyprint lang-sh\">GET  /api/users/{id}\n</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 class=\"prettyprint lang-sh\">curl -u admin:password https://motion.xcally.com/api/users\n</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 class=\"prettyprint lang-sh\">curl -H \"Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo\" https://motion.xcally.com/api/users\n</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 class=\"prettyprint lang-sh\">curl https://motion.xcally.com/api/users?apikey=eyJhbGciOiJIUzUxMiIsInR5cC...\n</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-10T22:47:52.189Z",
-    "url": "http://apidocjs.com",
-    "version": "0.19.1"
-  }
-}
+{
  "name": "xCALLY Motion API",
  "version": "2.4.2",
  "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-12T12:30:58.327Z",
    "url": "http://apidocjs.com",
    "version": "0.17.7"
  }
}
diff --git a/apidoc/css/style.css b/apidoc/css/style.css
index 216a21e..6468b2b 100644
--- a/apidoc/css/style.css
+++ b/apidoc/css/style.css
@@ -2,6 +2,7 @@
  * Content
  * ------------------------------------------------------------------------------------------ */
 body {
+  min-width: 980px;
   max-width: 1280px;
 }
 
diff --git a/apidoc/index.html b/apidoc/index.html
index b32e412..5f04ded 100644
--- a/apidoc/index.html
+++ b/apidoc/index.html
@@ -11,7 +11,7 @@
   <link href="img/favicon.ico" rel="icon" type="image/x-icon">
   <script src="vendor/polyfill.js"></script>
 </head>
-<body class="container-fluid">
+<body>
 
 <script id="template-sidenav" type="text/x-handlebars-template">
 <nav id="scrollingNav">
@@ -24,13 +24,13 @@
     {{#if title}}
       {{#if isHeader}}
         {{#if isFixed}}
-          <li class="nav-fixed nav-header navbar-btn nav-list-item" data-group="{{group}}"><a href="#api-{{group}}" data-name="show-api-{{group}}" class="show-api api-{{group}}-init">{{underscoreToSpace title}}</a></li>
+          <li class="nav-fixed nav-header navbar-btn nav-list-item" data-group="{{group}}"><a href="#api-{{group}}">{{underscoreToSpace title}}</a></li>
         {{else}}
-          <li class="nav-header nav-list-item" data-group="{{group}}"><a href="#api-{{group}}" data-group="show-api-{{group}}" class="show-group api-{{group}}-init">{{underscoreToSpace title}}</a></li>
+          <li class="nav-header nav-list-item" data-group="{{group}}"><a href="#api-{{group}}">{{underscoreToSpace title}}</a></li>
         {{/if}}
       {{else}}
         <li class="{{#if hidden}}hide {{/if}}" data-group="{{group}}" data-name="{{name}}" data-version="{{version}}">
-          <a href="#api-{{group}}-{{name}}" title="{{url}}" data-group="show-api-{{group}}" data-name="show-api-{{group}}-{{name}}" class="nav-list-item show-api api-{{group}}-{{name}}-init">{{title}}<div class="nav-list-url-item hide">{{url}}</div></a>
+          <a href="#api-{{group}}-{{name}}" class="nav-list-item">{{title}}</a>
         </li>
       {{/if}}
     {{/if}}
@@ -66,13 +66,13 @@
 
 <script id="template-header" type="text/x-handlebars-template">
   {{#if content}}
-    <div id="api-_" class="show-api-article show-api-_-article">{{{content}}}</div>
+    <div id="api-_">{{{content}}}</div>
   {{/if}}
 </script>
 
 <script id="template-footer" type="text/x-handlebars-template">
   {{#if content}}
-    <div id="api-_footer" class="show-api-article show-api-_-article">{{{content}}}</div>
+    <div id="api-_footer">{{{content}}}</div>
   {{/if}}
 </script>
 
@@ -87,13 +87,13 @@
 </script>
 
 <script id="template-sections" type="text/x-handlebars-template">
-  <section id="api-{{group}}" class="show-api-group show-api-{{group}}-group {{#if aloneDisplay}} hide{{/if}}">
+  <section id="api-{{group}}">
     <h1>{{underscoreToSpace title}}</h1>
     {{#if description}}
       <p>{{{nl2br description}}}</p>
     {{/if}}
     {{#each articles}}
-      <div id="api-{{group}}-{{name}}" class="show-api-article show-api-{{group}}-article show-api-{{group}}-{{name}}-article {{#if aloneDisplay}} hide{{/if}}">
+      <div id="api-{{group}}-{{name}}">
         {{{article}}}
       </div>
     {{/each}}
@@ -103,7 +103,7 @@
 <script id="template-article" type="text/x-handlebars-template">
   <article id="api-{{article.group}}-{{article.name}}-{{article.version}}" {{#if hidden}}class="hide"{{/if}} data-group="{{article.group}}" data-name="{{article.name}}" data-version="{{article.version}}">
     <div class="pull-left">
-      <h1>{{underscoreToSpace article.name}}{{#if article.title}} - {{article.title}}{{/if}}</h1>
+      <h1>{{article.groupTitle}}{{#if article.title}} - {{article.title}}{{/if}}</h1>
     </div>
     {{#if template.withCompare}}
     <div class="pull-right">
@@ -122,8 +122,6 @@
     {{/if}}
     <div class="clearfix"></div>
 
-    {{#if article.author}}<h4 class="muted">Authored by: {{article.author}}</h4>{{/if}}
-
     {{#if article.deprecated}}
       <p class="deprecated"><span>{{__ "DEPRECATED"}}</span>
         {{{markdown article.deprecated.content}}}
@@ -251,13 +249,13 @@
         {{#if article.header.fields}}
           <h3>{{__ "Headers"}}</h3>
           {{#each article.header.fields}}
-            <h4><input type="checkbox" data-sample-request-header-group-id="sample-request-header-{{@index}}" name="{{../id}}-sample-request-header" value="{{@index}}" class="sample-request-header sample-request-switch" checked />{{__ @key}}</h4>
-            <div class="{{../id}}-sample-request-header-fields">
+            <h4><input type="radio" data-sample-request-header-group-id="sample-request-header-{{@index}}" name="{{../id}}-sample-request-header" value="{{@index}}" class="sample-request-header sample-request-switch" {{#if_eq @index compare=0}} checked{{/if_eq}} />{{@key}}</h4>
+            <div class="{{../id}}-sample-request-header-fields{{#if_gt @index compare=0}} hide{{/if_gt}}">
               {{#each this}}
               <div class="form-group">
                 <label class="col-md-3 control-label" for="sample-request-header-field-{{field}}">{{field}}</label>
                 <div class="input-group">
-                  <input type="text" placeholder="{{field}}" value="{{defaultValue}}" id="sample-request-header-field-{{field}}" class="form-control sample-request-header" data-sample-request-header-name="{{field}}" data-sample-request-header-group="sample-request-header-{{@../index}}">
+                  <input type="text" placeholder="{{field}}" id="sample-request-header-field-{{field}}" class="form-control sample-request-header" data-sample-request-header-name="{{field}}" data-sample-request-header-group="sample-request-header-{{@../index}}">
                   <span class="input-group-addon">{{{type}}}</span>
                 </div>
               </div>
@@ -271,30 +269,14 @@
         {{#if article.parameter.fields}}
           <h3>{{__ "Parameters"}}</h3>
           {{#each article.parameter.fields}}
-            <h4><input type="checkbox" data-sample-request-param-group-id="sample-request-param-{{@index}}"  name="{{../id}}-sample-request-param" value="{{@index}}" class="sample-request-param sample-request-switch" checked/>{{__ @key}}
-              <select   name="{{../id}}-sample-header-content-type" class="{{../id}}-sample-request-param-select sample-header-content-type sample-header-content-type-switch">
-                <option value="undefined"  selected>ajax-auto</option>
-                <option value="body-json" >body/json</option>
-                <option value="body-form-data" >body/form-data</option>
-              </select>
-            </h4>
-            <div class="{{../id}}-sample-request-param-body {{../id}}-sample-header-content-type-body hide">
-              <div class="form-group">
-                <div class="input-group">
-                  <textarea id="sample-request-body-json" class="form-control sample-request-body" data-sample-request-body-group="sample-request-param-{{@./index}}" rows="6" style="OVERFLOW: visible" {{#if optional}}data-sample-request-param-optional="true"{{/if}}></textarea>
-                  <div class="input-group-addon">json</div>
-                </div>
-              </div>
-            </div>
-            <div class="{{../id}}-sample-request-param-fields {{../id}}-sample-header-content-type-fields">
+            <h4><input type="radio" data-sample-request-param-group-id="sample-request-param-{{@index}}"  name="{{../id}}-sample-request-param" value="{{@index}}" class="sample-request-param sample-request-switch" {{#if_eq @index compare=0}} checked{{/if_eq}} />{{@key}}</h4>
+            <div class="form-group {{../id}}-sample-request-param-fields{{#if_gt @index compare=0}} hide{{/if_gt}}">
               {{#each this}}
-              <div class="form-group">
                 <label class="col-md-3 control-label" for="sample-request-param-field-{{field}}">{{field}}</label>
                 <div class="input-group">
                   <input id="sample-request-param-field-{{field}}" type="text" placeholder="{{field}}" class="form-control sample-request-param" data-sample-request-param-name="{{field}}" data-sample-request-param-group="sample-request-param-{{@../index}}" {{#if optional}}data-sample-request-param-optional="true"{{/if}}>
                   <div class="input-group-addon">{{{type}}}</div>
                 </div>
-              </div>
               {{/each}}
             </div>
           {{/each}}
diff --git a/apidoc/locales/zh.js b/apidoc/locales/zh.js
index ca5042f..6652206 100644
--- a/apidoc/locales/zh.js
+++ b/apidoc/locales/zh.js
@@ -4,21 +4,21 @@ define({
         'Compare all with predecessor': '預先比較所有',
         'compare changes to:'         : '比較變更:',
         'compared to'                 : '對比',
-        'Default value:'              : '預設值:',
+        'Default value:'              : '默認值:',
         'Description'                 : '描述',
-        'Field'                       : '欄位',
+        'Field'                       : '字段',
         'General'                     : '概括',
         'Generated with'              : '生成工具',
         'Name'                        : '名稱',
         'No response values​​.'         : '無對應資料.',
-        'optional'                    : '選填',
+        'optional'                    : '選項',
         'Parameter'                   : '參數',
-        'Permission:'                 : '權限:',
+        'Permission:'                 : '允許:',
         'Response'                    : '回應',
         'Send'                        : '發送',
         'Send a Sample Request'       : '發送試用需求',
         'show up to version:'         : '顯示到版本:',
-        'Size range:'                 : '區間:',
+        'Size range:'                 : '尺寸範圍:',
         'Type'                        : '類型',
         'url'                         : '網址'
     }
diff --git a/apidoc/locales/zh_cn.js b/apidoc/locales/zh_cn.js
index 50913e2..1938ca1 100644
--- a/apidoc/locales/zh_cn.js
+++ b/apidoc/locales/zh_cn.js
@@ -13,8 +13,6 @@ define({
         'No response values.'         : '无返回值.',
         'optional'                    : '可选',
         'Parameter'                   : '参数',
-        'Parameters'                  : '参数',
-        'Headers'                     : '头部参数',
         'Permission:'                 : '权限:',
         'Response'                    : '返回',
         'Send'                        : '发送',
diff --git a/apidoc/main.js b/apidoc/main.js
index 8adc385..9d31fa5 100644
--- a/apidoc/main.js
+++ b/apidoc/main.js
@@ -84,9 +84,6 @@ require([
     if (apiProject.template.forceLanguage)
         locale.setLanguage(apiProject.template.forceLanguage);
 
-    if (apiProject.template.aloneDisplay == null)
-        apiProject.template.aloneDisplay = false;
-
     // Setup jQuery Ajax
     $.ajaxSetup(apiProject.template.jQueryAjaxSetup);
 
@@ -189,8 +186,7 @@ require([
                         group: group,
                         name: entry.name,
                         type: entry.type,
-                        version: entry.version,
-                        url: entry.url
+                        version: entry.version
                     });
                 } else {
                     nav.push({
@@ -199,8 +195,7 @@ require([
                         hidden: true,
                         name: entry.name,
                         type: entry.type,
-                        version: entry.version,
-                        url: entry.url
+                        version: entry.version
                     });
                 }
                 oldName = entry.name;
@@ -346,12 +341,9 @@ require([
                     };
                 }
 
-                // add prefix URL for endpoint unless it's already absolute
-                if (apiProject.url) {
-                    if (fields.article.url.substr(0, 4).toLowerCase() !== 'http') {
-                        fields.article.url = apiProject.url + fields.article.url;
-                    }
-                }
+                // add prefix URL for endpoint
+                if (apiProject.url)
+                    fields.article.url = apiProject.url + fields.article.url;
 
                 addArticleSettings(fields, entry);
 
@@ -365,8 +357,7 @@ require([
                 articles.push({
                     article: templateArticle(fields),
                     group: entry.group,
-                    name: entry.name,
-                    aloneDisplay: apiProject.template.aloneDisplay
+                    name: entry.name
                 });
                 oldName = entry.name;
             }
@@ -377,8 +368,7 @@ require([
             group: groupEntry,
             title: title,
             description: description,
-            articles: articles,
-            aloneDisplay: apiProject.template.aloneDisplay
+            articles: articles
         };
         content += templateSections(fields);
     });
@@ -447,72 +437,13 @@ require([
         });
         $('.nav-tabs-examples').find('a:first').tab('show');
 
-        // sample header-content-type switch
-        $('.sample-header-content-type-switch').change(function () {
-            var paramName = '.' + $(this).attr('name') + '-fields';
-            var bodyName = '.' + $(this).attr('name') + '-body';
-            var selectName = 'select[name=' + $(this).attr('name') + ']';
-            if ($(this).val() == 'body-json') {
-                $(selectName).val('undefined');
-                $(this).val('body-json');
-                $(paramName).removeClass('hide');
-                $(this).parent().nextAll(paramName).first().addClass('hide');
-                $(bodyName).addClass('hide');
-                $(this).parent().nextAll(bodyName).first().removeClass('hide');
-            } else if ($(this).val() == "body-form-data") {
-                $(selectName).val('undefined');
-                $(this).val('body-form-data');
-                $(bodyName).addClass('hide');
-                $(paramName).removeClass('hide');
-            } else {
-                $(this).parent().nextAll(paramName).first().removeClass('hide')
-                $(this).parent().nextAll(bodyName).first().addClass('hide');
-            }
-            $(this).prev('.sample-request-switch').prop('checked', true);
-        });
-
         // sample request switch
         $('.sample-request-switch').click(function (e) {
-            var paramName = '.' + $(this).attr('name') + '-fields';
-            var bodyName = '.' + $(this).attr('name') + '-body';
-            var select = $(this).next('.' + $(this).attr('name') + '-select').val();
-            if($(this).prop("checked")){
-                if (select == 'body-json'){
-                    $(this).parent().nextAll(bodyName).first().removeClass('hide');
-                }else {
-                    $(this).parent().nextAll(paramName).first().removeClass('hide');
-                }
-            }else {
-                if (select == 'body-json'){
-                    $(this).parent().nextAll(bodyName).first().addClass('hide');
-                }else {
-                    $(this).parent().nextAll(paramName).first().addClass('hide');
-                }
-            }
+            var name = '.' + $(this).attr('name') + '-fields';
+            $(name).addClass('hide');
+            $(this).parent().next(name).removeClass('hide');
         });
 
-        if (apiProject.template.aloneDisplay){
-            //show group
-            $('.show-group').click(function () {
-                var apiGroup = '.' + $(this).attr('data-group') + '-group';
-                var apiGroupArticle = '.' + $(this).attr('data-group') + '-article';
-                $(".show-api-group").addClass('hide');
-                $(apiGroup).removeClass('hide');
-                $(".show-api-article").addClass('hide');
-                $(apiGroupArticle).removeClass('hide');
-            });
-
-            //show api
-            $('.show-api').click(function () {
-                var apiName = '.' + $(this).attr('data-name') + '-article';
-                var apiGroup = '.' + $(this).attr('data-group') + '-group';
-                $(".show-api-group").addClass('hide');
-                $(apiGroup).removeClass('hide');
-                $(".show-api-article").addClass('hide');
-                $(apiName).removeClass('hide');
-            });
-        }
-
         // call scrollspy refresh method
         $(window).scrollspy('refresh');
 
@@ -521,13 +452,6 @@ require([
     }
     initDynamic();
 
-    if (apiProject.template.aloneDisplay) {
-        var hashVal = window.location.hash;
-        if (hashVal != null && hashVal.length !== 0) {
-            $("." + hashVal.slice(1) + "-init").click();
-        }
-    }
-
     // Pre- / Code-Format
     prettyPrint();
 
@@ -603,7 +527,7 @@ require([
      * Initialize search
      */
     var options = {
-      valueNames: [ 'nav-list-item','nav-list-url-item']
+      valueNames: [ 'nav-list-item' ]
     };
     var endpointsList = new List('scrollingNav', options);
 
@@ -845,7 +769,7 @@ require([
         $root.after(content);
         var $content = $root.next();
 
-        // Event on.click needs to be reassigned (should actually work with on ... automatically)
+        // Event on.click muss neu zugewiesen werden (sollte eigentlich mit on automatisch funktionieren... sollte)
         $content.find('.versions li.version a').on('click', changeVersionCompareTo);
 
         $('#sidenav li[data-group=\'' + group + '\'][data-name=\'' + name + '\'][data-version=\'' + version + '\']').removeClass('has-modifications');
@@ -882,8 +806,8 @@ require([
             if (splitBy)
                 elements.forEach (function(element) {
                     var parts = element.split(splitBy);
-                    var key = parts[0]; // reference keep for sorting
-                    if (key == name || parts[1] == name)
+                    var key = parts[1]; // reference keep for sorting
+                    if (key == name)
                         results.push(element);
                 });
             else
diff --git a/apidoc/utils/handlebars_helper.js b/apidoc/utils/handlebars_helper.js
index a86733f..a5d5c4f 100644
--- a/apidoc/utils/handlebars_helper.js
+++ b/apidoc/utils/handlebars_helper.js
@@ -242,7 +242,7 @@ define([
             if( ! compare)
                 return source;
 
-            var d = diffMatchPatch.diff_main(stripHtml(compare), stripHtml(source));
+            var d = diffMatchPatch.diff_main(compare, source);
             diffMatchPatch.diff_cleanupSemantic(d);
             ds = diffMatchPatch.diff_prettyHtml(d);
             ds = ds.replace(/&para;/gm, '');
@@ -352,15 +352,6 @@ define([
       return html.join('');
     };
 
-    /**
-     * Fixes html after comparison (#506, #538, #616, #825)
-     */
-    function stripHtml(html){
-      var div = document.createElement("div");
-      div.innerHTML = html;
-      return div.textContent || div.innerText || "";
-    }
-
     // Exports
     return Handlebars;
 });
diff --git a/apidoc/utils/send_sample_request.js b/apidoc/utils/send_sample_request.js
index 714e6b8..f2396ea 100755
--- a/apidoc/utils/send_sample_request.js
+++ b/apidoc/utils/send_sample_request.js
@@ -1,243 +1,184 @@
-define([
-    'jquery',
-    'lodash'
-], function($, _) {
-
-    var initDynamic = function() {
-        // Button send
-        $(".sample-request-send").off("click");
-        $(".sample-request-send").on("click", function(e) {
-            e.preventDefault();
-            var $root = $(this).parents("article");
-            var group = $root.data("group");
-            var name = $root.data("name");
-            var version = $root.data("version");
-            sendSampleRequest(group, name, version, $(this).data("sample-request-type"));
-        });
-
-        // Button clear
-        $(".sample-request-clear").off("click");
-        $(".sample-request-clear").on("click", function(e) {
-            e.preventDefault();
-            var $root = $(this).parents("article");
-            var group = $root.data("group");
-            var name = $root.data("name");
-            var version = $root.data("version");
-            clearSampleRequest(group, name, version);
-        });
-    }; // initDynamic
-
-    function sendSampleRequest(group, name, version, type)
-    {
-        var $root = $('article[data-group="' + group + '"][data-name="' + name + '"][data-version="' + version + '"]');
-
-        // Optional header
-        var header = {};
-        $root.find(".sample-request-header:checked").each(function(i, element) {
-            var group = $(element).data("sample-request-header-group-id");
-            $root.find("[data-sample-request-header-group=\"" + group + "\"]").each(function(i, element) {
-                var key = $(element).data("sample-request-header-name");
-                var value = element.value;
-                if (typeof element.optional === 'undefined') {
-                  element.optional = true;
-                }
-                if ( ! element.optional && element.defaultValue !== '') {
-                    value = element.defaultValue;
-                }
-                header[key] = value;
-            });
-        });
-
-
-        // create JSON dictionary of parameters
-        var param = {};
-        var paramType = {};
-        var bodyFormData = {};
-        var bodyFormDataType = {};
-        var bodyJson = '';
-        $root.find(".sample-request-param:checked").each(function(i, element) {
-            var group = $(element).data("sample-request-param-group-id");
-            var contentType = $(element).nextAll('.sample-header-content-type-switch').first().val();
-            if (contentType == "body-json"){
-                $root.find("[data-sample-request-body-group=\"" + group + "\"]").not(function(){
-                    return $(this).val() == "" && $(this).is("[data-sample-request-param-optional='true']");
-                }).each(function(i, element) {
-                    if (isJson(element.value)){
-                        header['Content-Type'] = 'application/json';
-                        bodyJson = element.value;
-                    }
-                });
-            }else {
-                $root.find("[data-sample-request-param-group=\"" + group + "\"]").not(function(){
-                    return $(this).val() == "" && $(this).is("[data-sample-request-param-optional='true']");
-                }).each(function(i, element) {
-                    var key = $(element).data("sample-request-param-name");
-                    var value = element.value;
-                    if ( ! element.optional && element.defaultValue !== '') {
-                        value = element.defaultValue;
-                    }
-                    if (contentType == "body-form-data"){
-                        header['Content-Type'] = 'multipart/form-data'
-                        bodyFormData[key] = value;
-                        bodyFormDataType[key] = $(element).next().text();
-                    }else {
-                        param[key] = value;
-                        paramType[key] = $(element).next().text();
-                    }
-                });
-            }
-        });
-
-        // grab user-inputted URL
-        var url = $root.find(".sample-request-url").val();
-
-        //Convert {param} form to :param
-        url = url.replace(/{/,':').replace(/}/,'');
-
-        // Insert url parameter
-        var pattern = pathToRegexp(url, null);
-        var matches = pattern.exec(url);
-        for (var i = 1; i < matches.length; i++) {
-            var key = matches[i].substr(1);
-            if (param[key] !== undefined) {
-                url = url.replace(matches[i], encodeURIComponent(param[key]));
-
-                // remove URL parameters from list
-                delete param[key];
-            }
-        } // for
-
-
-        //add url search parameter
-        if (header['Content-Type'] == 'application/json' ){
-            url = url + encodeSearchParams(param);
-            param = bodyJson;
-        }else if (header['Content-Type'] == 'multipart/form-data'){
-            url = url + encodeSearchParams(param);
-            param = bodyFormData;
-        }
-
-        $root.find(".sample-request-response").fadeTo(250, 1);
-        $root.find(".sample-request-response-json").html("Loading...");
-        refreshScrollSpy();
-
-        // send AJAX request, catch success or error callback
-        var ajaxRequest = {
-            url        : url,
-            headers    : header,
-            data       : param,
-            type       : type.toUpperCase(),
-            success    : displaySuccess,
-            error      : displayError
-        };
-
-        $.ajax(ajaxRequest);
-
-
-        function displaySuccess(data, status, jqXHR) {
-            var jsonResponse;
-            try {
-                jsonResponse = JSON.parse(jqXHR.responseText);
-                jsonResponse = JSON.stringify(jsonResponse, null, 4);
-            } catch (e) {
-                jsonResponse = jqXHR.responseText;
-            }
-            $root.find(".sample-request-response-json").text(jsonResponse);
-            refreshScrollSpy();
-        };
-
-        function displayError(jqXHR, textStatus, error) {
-            var message = "Error " + jqXHR.status + ": " + error;
-            var jsonResponse;
-            try {
-                jsonResponse = JSON.parse(jqXHR.responseText);
-                jsonResponse = JSON.stringify(jsonResponse, null, 4);
-            } catch (e) {
-                jsonResponse = jqXHR.responseText;
-            }
-
-            if (jsonResponse)
-                message += "\n" + jsonResponse;
-
-            // flicker on previous error to make clear that there is a new response
-            if($root.find(".sample-request-response").is(":visible"))
-                $root.find(".sample-request-response").fadeTo(1, 0.1);
-
-            $root.find(".sample-request-response").fadeTo(250, 1);
-            $root.find(".sample-request-response-json").text(message);
-            refreshScrollSpy();
-        };
-    }
-
-    function clearSampleRequest(group, name, version)
-    {
-        var $root = $('article[data-group="' + group + '"][data-name="' + name + '"][data-version="' + version + '"]');
-
-        // hide sample response
-        $root.find(".sample-request-response-json").html("");
-        $root.find(".sample-request-response").hide();
-
-        // reset value of parameters
-        $root.find(".sample-request-param").each(function(i, element) {
-            element.value = "";
-        });
-
-        // restore default URL
-        var $urlElement = $root.find(".sample-request-url");
-        $urlElement.val($urlElement.prop("defaultValue"));
-
-        refreshScrollSpy();
-    }
-
-    function refreshScrollSpy()
-    {
-        $('[data-spy="scroll"]').each(function () {
-            $(this).scrollspy("refresh");
-        });
-    }
-
-    function escapeHtml(str) {
-        var div = document.createElement("div");
-        div.appendChild(document.createTextNode(str));
-        return div.innerHTML;
-    }
-
-
-    /**
-     * is Json
-     */
-    function isJson(str) {
-        if (typeof str == 'string') {
-            try {
-                var obj=JSON.parse(str);
-                if(typeof obj == 'object' && obj ){
-                    return true;
-                }else{
-                    return false;
-                }
-            } catch(e) {
-                return false;
-            }
-        }
-    }
-
-    /**
-     * encode Search Params
-     */
-    function encodeSearchParams(obj) {
-        const params = [];
-        Object.keys(obj).forEach((key) => {
-            let value = obj[key];
-            params.push([key, encodeURIComponent(value)].join('='));
-        })
-        return params.length === 0 ? '' : '?' + params.join('&');
-    }
-
-    /**
-     * Exports.
-     */
-    return {
-        initDynamic: initDynamic
-    };
-
-});
+define([
+  'jquery',
+  'lodash'
+], function($, _) {
+
+  var initDynamic = function() {
+      // Button send
+      $(".sample-request-send").off("click");
+      $(".sample-request-send").on("click", function(e) {
+          e.preventDefault();
+          var $root = $(this).parents("article");
+          var group = $root.data("group");
+          var name = $root.data("name");
+          var version = $root.data("version");
+          sendSampleRequest(group, name, version, $(this).data("sample-request-type"));
+      });
+
+      // Button clear
+      $(".sample-request-clear").off("click");
+      $(".sample-request-clear").on("click", function(e) {
+          e.preventDefault();
+          var $root = $(this).parents("article");
+          var group = $root.data("group");
+          var name = $root.data("name");
+          var version = $root.data("version");
+          clearSampleRequest(group, name, version);
+      });
+  }; // initDynamic
+
+  function sendSampleRequest(group, name, version, type)
+  {
+      var $root = $('article[data-group="' + group + '"][data-name="' + name + '"][data-version="' + version + '"]');
+
+      // Optional header
+      var header = {};
+      $root.find(".sample-request-header:checked").each(function(i, element) {
+          var group = $(element).data("sample-request-header-group-id");
+          $root.find("[data-sample-request-header-group=\"" + group + "\"]").each(function(i, element) {
+            var key = $(element).data("sample-request-header-name");
+            var value = element.value;
+            if ( ! element.optional && element.defaultValue !== '') {
+                value = element.defaultValue;
+            }
+            header[key] = value;
+          });
+      });
+
+      // create JSON dictionary of parameters
+      var param = {};
+      var paramType = {};
+      $root.find(".sample-request-param:checked").each(function(i, element) {
+          var group = $(element).data("sample-request-param-group-id");
+          $root.find("[data-sample-request-param-group=\"" + group + "\"]").not(function(){
+            return $(this).val() == "" && $(this).is("[data-sample-request-param-optional='true']");
+          }).each(function(i, element) {
+            var key = $(element).data("sample-request-param-name");
+            var value = element.value;
+            if ( ! element.optional && element.defaultValue !== '') {
+                value = element.defaultValue;
+            }
+            param[key] = value;
+            paramType[key] = $(element).next().text();
+          });
+      });
+
+      // grab user-inputted URL
+      var url = $root.find(".sample-request-url").val();
+
+      // Insert url parameter
+      var pattern = pathToRegexp(url, null);
+      var matches = pattern.exec(url);
+      for (var i = 1; i < matches.length; i++) {
+          var key = matches[i].substr(1);
+          if (param[key] !== undefined) {
+              url = url.replace(matches[i], encodeURIComponent(param[key]));
+
+              // remove URL parameters from list
+              delete param[key];
+          }
+      } // for
+
+      $root.find(".sample-request-response").fadeTo(250, 1);
+      $root.find(".sample-request-response-json").html("Loading...");
+      refreshScrollSpy();
+
+      _.each( param, function( val, key ) {
+          var t = paramType[ key ].toLowerCase();
+          if ( t === 'object' || t === 'array' ) {
+              try {
+                  param[ key ] = JSON.parse( val );
+              } catch (e) {
+              }
+          }
+      });
+
+      // send AJAX request, catch success or error callback
+      var ajaxRequest = {
+          url        : url,
+          headers    : header,
+          data       : param,
+          type       : type.toUpperCase(),
+          success    : displaySuccess,
+          error      : displayError
+      };
+
+      $.ajax(ajaxRequest);
+
+
+      function displaySuccess(data, status, jqXHR) {
+          var jsonResponse;
+          try {
+              jsonResponse = JSON.parse(jqXHR.responseText);
+              jsonResponse = JSON.stringify(jsonResponse, null, 4);
+          } catch (e) {
+              jsonResponse = data;
+          }
+          $root.find(".sample-request-response-json").html(jsonResponse);
+          refreshScrollSpy();
+      };
+
+      function displayError(jqXHR, textStatus, error) {
+          var message = "Error " + jqXHR.status + ": " + error;
+          var jsonResponse;
+          try {
+              jsonResponse = JSON.parse(jqXHR.responseText);
+              jsonResponse = JSON.stringify(jsonResponse, null, 4);
+          } catch (e) {
+              jsonResponse = escape(jqXHR.responseText);
+          }
+
+          if (jsonResponse)
+              message += "<br>" + jsonResponse;
+
+          // flicker on previous error to make clear that there is a new response
+          if($root.find(".sample-request-response").is(":visible"))
+              $root.find(".sample-request-response").fadeTo(1, 0.1);
+
+          $root.find(".sample-request-response").fadeTo(250, 1);
+          $root.find(".sample-request-response-json").html(message);
+          refreshScrollSpy();
+      };
+  }
+
+  function clearSampleRequest(group, name, version)
+  {
+      var $root = $('article[data-group="' + group + '"][data-name="' + name + '"][data-version="' + version + '"]');
+
+      // hide sample response
+      $root.find(".sample-request-response-json").html("");
+      $root.find(".sample-request-response").hide();
+
+      // reset value of parameters
+      $root.find(".sample-request-param").each(function(i, element) {
+          element.value = "";
+      });
+
+      // restore default URL
+      var $urlElement = $root.find(".sample-request-url");
+      $urlElement.val($urlElement.prop("defaultValue"));
+
+      refreshScrollSpy();
+  }
+
+  function refreshScrollSpy()
+  {
+      $('[data-spy="scroll"]').each(function () {
+          $(this).scrollspy("refresh");
+      });
+  }
+
+  function escapeHtml(str) {
+      var div = document.createElement("div");
+      div.appendChild(document.createTextNode(str));
+      return div.innerHTML;
+  }
+
+  /**
+   * Exports.
+   */
+  return {
+      initDynamic: initDynamic
+  };
+
+});
diff --git a/apidoc/vendor/bootstrap.min.css b/apidoc/vendor/bootstrap.min.css
index 5b96335..ed3905e 100644
--- a/apidoc/vendor/bootstrap.min.css
+++ b/apidoc/vendor/bootstrap.min.css
@@ -1,6 +1,6 @@
 /*!
- * Bootstrap v3.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 /*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/apidoc/vendor/bootstrap.min.js b/apidoc/vendor/bootstrap.min.js
index eb0a8b4..9bcd2fc 100644
--- a/apidoc/vendor/bootstrap.min.js
+++ b/apidoc/vendor/bootstrap.min.js
@@ -1,6 +1,7 @@
 /*!
- * Bootstrap v3.4.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 Twitter, Inc.
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
  * Licensed under the MIT license
  */
\ No newline at end of file
\ No newline at end of file
diff --git a/apidoc/vendor/jquery.min.js b/apidoc/vendor/jquery.min.js
index a1c07fd..349030d 100644
--- a/apidoc/vendor/jquery.min.js
+++ b/apidoc/vendor/jquery.min.js
@@ -1,2 +1,4 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+/*! jQuery v2.2.1 | (c) jQuery Foundation | jquery.org/license */
diff --git a/apidoc/vendor/lodash.custom.min.js b/apidoc/vendor/lodash.custom.min.js
index 398b009..51c11a4 100644
--- a/apidoc/vendor/lodash.custom.min.js
+++ b/apidoc/vendor/lodash.custom.min.js
@@ -3,39 +3,39 @@
  * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
  * Build: `lodash -p -o template/vendor/lodash.custom.min.js include="groupBy,each,extend,some" exports="amd"`
  */
-l.some=function(t,e,r){var n=Je(t)?c:V;return r&&ct(t,e,r)&&(e=Mt),n(t,Y(e,3))},l.toString=At,l.each=bt,l.VERSION="4.17.5",typeof define=="function"&&typeof define.amd=="object"&&define.amd&& define(function(){return l})}).call(this);
\ No newline at end of file
+var n=Je(t)?a:R;return r&&ut(t,e,r)&&(e=Bt),n(t,Z(e,3))},p.toString=wt,p.each=ht,p.VERSION="4.17.4",typeof define=="function"&&typeof define.amd=="object"&&define.amd&& define(function(){return p})}).call(this);
\ No newline at end of file
diff --git a/public/app/main/apps/contactmanager/i18n/sv.json b/public/app/main/apps/contactmanager/i18n/sv.json
index 2f6973f..7b510f3 100644
--- a/public/app/main/apps/contactmanager/i18n/sv.json
+++ b/public/app/main/apps/contactmanager/i18n/sv.json
@@ -21,7 +21,7 @@
         "DELETE_HOPPER": "Ta bort hoppern",
         "RELOAD": "Ladda om",
         "NO_COMPANIES": "Inget företag",
-        "NO_AVAILABLE_ITEMS": "Inga tillgängliga poster",
+        "NO_AVAILABLE_ITEMS": "Ingen tillgänglig information",
         "ADD": "Lägg till",
         "ERRORS": {
             "NAME_REQUIRED": "Namnet är obligatoriskt",
@@ -98,9 +98,9 @@
         "FAILURE": "Fel",
         "ALL_CONTACTS": "Alla kontakter",
         "NEW_CUSTOMFIELD": "Nya anpassade fält",
-        "NO_VOICEDISPOSITION_AVAILABLE": "Ingen röst dispositioner tillgängliga",
-        "ADD_VOICEDISPOSITION": "Lägg till röst disposition",
-        "EDIT_VOICEDISPOSITION": "Redigera röst disposition",
+        "NO_VOICEDISPOSITION_AVAILABLE": "Ingen röstkategorier tillgängliga",
+        "ADD_VOICEDISPOSITION": "Lägg till röstkategori",
+        "EDIT_VOICEDISPOSITION": "Redigera röstkategori",
         "DELETE_VOICEDISPOSITION": "Ta bort röstmeddelanden disposition",
         "VAT": "Moms",
         "COMPANYID": "Företags-ID",
@@ -114,7 +114,7 @@
         "GOTOCONTACTS_COMPANY": "Visa kontakter",
         "ADD_AGENT_TO_LIST": "Lägg till agenter till lista",
         "AGENTADD_LIST": "Lägg till agenter till lista",
-        "NO_AVAILABLE_INFO": "Inga tillgängliga info",
+        "NO_AVAILABLE_INFO": "Ingen tillgänglig information",
         "NONE": "Ingen",
         "FULLNAME": "Fullständigt namn",
         "CHECK_DUPLICATES": "Kontrollera dublett",
diff --git a/public/app/main/apps/dashboards/i18n/sv.json b/public/app/main/apps/dashboards/i18n/sv.json
index 6d0389b..c17d28c 100644
--- a/public/app/main/apps/dashboards/i18n/sv.json
+++ b/public/app/main/apps/dashboards/i18n/sv.json
@@ -84,9 +84,9 @@
         "ABANDONED": "Missade",
         "TOTAL_OFFERED": "Erbjudna interkationer",
         "AVG_HOLD_TIME": "Genomsnittlig kötid",
-        "INBOUND_ANSWER_RATE": "Svar kurs",
-        "OUTBOUND_ANSWER_RATE": "Svar kurs",
-        "ABANDON_RATE": "Övergivningstakt",
+        "INBOUND_ANSWER_RATE": "Andel besvarade",
+        "OUTBOUND_ANSWER_RATE": "Andel besvarade",
+        "ABANDON_RATE": "Andel missade",
         "UNMANAGED": "Ej managerade",
         "TOTAL": "Totalt",
         "TOT_DURATION": "Total varaktighet",
@@ -134,7 +134,7 @@
             "QUEUE_REQUIRED": "Obligatoriskt fält",
             "CAMPAIGN_REQUIRED": "Obligatoriskt fält"
         },
-        "NO_AVAILABLE_INFO": "Inga tillgängliga info",
+        "NO_AVAILABLE_INFO": "Ingen tillgänglig information",
         "WELCOME_TO_MOTION": "Välkommen till rörelse",
         "WELCOME_MESSAGE": "Använd den vänstra sidofältet för att navigera genom avsnitten.",
         "ADD": "Lägg till",
@@ -142,7 +142,7 @@
         "DASHBOARD": "Dashboard",
         "EDIT_CONTACT": "Redigera kontakt",
         "EMAIL": "Email",
-        "FULLNAME": "Fullname",
+        "FULLNAME": "Namn",
         "LIST": "Lista",
         "NEW_CONTACT": "Ny kontakt",
         "PHONE": "Telefon",
@@ -257,7 +257,7 @@
         "TRANSFER_NUMBER": "Överföra",
         "CALL_SAVED": "Ring korrekt sparad",
         "CALL_DISPOSED": "Ring på rätt sätt",
-        "CHANNEL_WAITING_TEXT": "Waiting Que Interactions",
+        "CHANNEL_WAITING_TEXT": "I kö",
         "CHANNEL_QUEUE": "Kö",
         "CHANNEL_FROM": "Från",
         "MARK_AS_UNREAD": "Markera som oläst",
diff --git a/public/app/main/apps/mail/i18n/sv.json b/public/app/main/apps/mail/i18n/sv.json
index 4f3f03d..72c60ad 100644
--- a/public/app/main/apps/mail/i18n/sv.json
+++ b/public/app/main/apps/mail/i18n/sv.json
@@ -268,7 +268,7 @@
         "SEND_AND_CLOSE": "Skicka och stäng",
         "CANNED_ANSWER_NOT_FOUND": "Inga färdiga svar hittades",
         "CANNED_ANSWER_SEARCH": "Ange text för att söka en burka svar",
-        "NO_MAILCANNEDANSWER_AVAILABLE": "Inga konserverade svar tillgängliga",
+        "NO_MAILCANNEDANSWER_AVAILABLE": "Inga standardsvar svar tillgängliga",
         "NEW_MAILCANNEDANSWER": "Nytt konserverat svar",
         "ADD_MAILCANNEDANSWER": "Lägg till konserverat svar",
         "EDIT_MAILCANNEDANSWER": "Redigera",
diff --git a/public/app/main/apps/motiondialer/i18n/sv.json b/public/app/main/apps/motiondialer/i18n/sv.json
index 8680357..0c81d9e 100644
--- a/public/app/main/apps/motiondialer/i18n/sv.json
+++ b/public/app/main/apps/motiondialer/i18n/sv.json
@@ -40,11 +40,11 @@
         "HISTORY": "Historik",
         "SCHEDULEDAT": "Planerad till",
         "HOPPERBLACKS": "Hopper Blacklist",
-        "NO_HOPPERBLACK_AVAILABLE": "Inga artiklar tillgängliga",
+        "NO_HOPPERBLACK_AVAILABLE": "Inga kontakter tillgängliga",
         "HOPPERFINALS": "Hopper slutliga",
-        "NO_HOPPERFINAL_AVAILABLE": "Inga artiklar tillgängliga",
+        "NO_HOPPERFINAL_AVAILABLE": "Inga kontakter tillgängliga",
         "HOPPERHISTORIES": "Hopper historia",
-        "NO_HOPPERHISTORY_AVAILABLE": "Inga artiklar tillgängliga",
+        "NO_HOPPERHISTORY_AVAILABLE": "Inga kontakter tillgängliga",
         "DELETE_HOPPERHISTORY": "Ta bort",
         "DELETE_HOPPERFINAL": "Ta bort",
         "CONTACTID": "Kontakt-ID",
@@ -53,7 +53,7 @@
         "ENDTIME": "Sluttid",
         "STATUS": "Status",
         "HOPPERS": "Matningsmagasinet",
-        "NO_HOPPER_AVAILABLE": "Inga artiklar tillgängliga",
+        "NO_HOPPER_AVAILABLE": "Inga kontakter tillgängliga",
         "EDIT_HOPPER": "Redigera matningsmagasinet",
         "DELETE_HOPPER": "Ta bort matningsmagasinet",
         "FINAL": "Slutlig",
@@ -308,7 +308,7 @@
         "HOLDTIMEANNOUNCE": "Håll tid tillkännage",
         "YOUARENEXTANNOUNCE": "\"Du är nästa\" tillkännage",
         "THEREAREANNOUNCE": "\"Det finns\" tillkännage",
-        "WAITINGCALLSANNOUNCE": "Väntande samtal meddela",
+        "WAITINGCALLSANNOUNCE": "Väntande samtal meddelande",
         "ESTIMATEDHOLDTIMEANNOUNCE": "Beräknad parkeringstid tillkännage",
         "MINUTESANNOUNCE": "Minuter tillkännage",
         "MINUTEANNOUNCE": "Minut tillkännage",
@@ -329,9 +329,9 @@
         "SETTINGS": "Inställningar",
         "INBOUNDROUTES": "Inkommande linjer",
         "PHONENUMBER": "Telefonnummer",
-        "ADD_INBOUNDROUTE": "Lägg Inbound Route",
-        "EDIT_INBOUNDROUTE": "Redigera inkommande rutt",
-        "DELETE_INBOUNDROUTE": "Ta bort inkommande rutt",
+        "ADD_INBOUNDROUTE": "Lägg inkommande linje",
+        "EDIT_INBOUNDROUTE": "Redigera inkommande linje",
+        "DELETE_INBOUNDROUTE": "Ta bort inkommande linje",
         "ACTIONS": "Åtgärder",
         "OUTBOUNDROUTES": "Utgående linjer",
         "DESTINATIONPATTERN": "Destination mönster",
@@ -445,16 +445,16 @@
         "AUDIO": "Ljud",
         "DATE": "Datum",
         "NEW_VOICEQUEUE": "Ny röst kö",
-        "NEW_INBOUNDROUTE": "Nya inkommande rutt",
-        "NEW_OUTBOUNDROUTE": "Ny utgående rutt",
-        "NEW_INTERNALROUTE": "Nya interna rutt",
+        "NEW_INBOUNDROUTE": "Nya inkommande linje",
+        "NEW_OUTBOUNDROUTE": "Ny utgående linje",
+        "NEW_INTERNALROUTE": "Nya intern linje",
         "NEW_CONTEXT": "Ny ram",
         "NEW_VOICEMAIL": "Nytt röstmeddelande",
         "NEW_MUSICONHOLD": "Ny musik i vänteläge",
         "NEW_CHANSPY": "Nya ChanSpy",
         "PENALTY": "Dödsstraff",
-        "ADD_TEAM_TO_VOICEQUEUE": "Lägg till Team till röst kö",
-        "ADD_AGENT_TO_VOICEQUEUE": "Lägg medlet på röst kö",
+        "ADD_TEAM_TO_VOICEQUEUE": "Lägg till team till röstkö",
+        "ADD_AGENT_TO_VOICEQUEUE": "Lägg agent till röstkö",
         "EDIT_DIAL": "Redigera kortnummer",
         "EDIT_AGI": "Redigera AGI",
         "EDIT_INTERNALDIAL": "Redigera inre ring",
@@ -558,7 +558,7 @@
         "SELECTED_LISTS": "Valda förteckningar",
         "ALL_AGENTS": "Alla agenter",
         "SELECTED_AGENTS": "Valda agenter",
-        "WAITING_FOR_AGENT": "Väntar för agent",
+        "WAITING_FOR_AGENT": "Väntar på agent",
         "TOTAL_OFFERED": "Totalt erbjuds",
         "RUNNING": "Igång",
         "TRUNK_IS_NOT_REACHABLE": "Bagageutrymmet är inte nåbar",
diff --git a/public/assets/plugins/mxgraph/css/explorer.css b/public/assets/plugins/mxgraph/css/explorer.css
index 71d824d..1d11bbe 100644
--- a/public/assets/plugins/mxgraph/css/explorer.css
+++ b/public/assets/plugins/mxgraph/css/explorer.css
@@ -1,16 +1,16 @@
 div.mxTooltip {
     filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
-            Color='#A2A2A2', Positive='true')
+        Color='#A2A2A2', Positive='true')
 }
 
 div.mxPopupMenu {
     filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
-            Color='#C0C0C0', Positive='true')
+        Color='#C0C0C0', Positive='true')
 }
 
 div.mxWindow {
     filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
-            Color='#C0C0C0', Positive='true')
+        Color='#C0C0C0', Positive='true')
 }
 
 td.mxWindowTitle {
diff --git a/public/index.html b/public/index.html
index 08379d9..3717b03 100644
--- a/public/index.html
+++ b/public/index.html
@@ -58,7 +58,7 @@
 
     <script src="scripts/vendor.340e778b.js"></script>
 
-    <script src="scripts/app.887c52ae.js"></script>
+    <script src="scripts/app.bef8ee9b.js"></script>
 
     <!-- CKEDITOR -->
     <script src="assets/plugins/ckeditor/ckeditor.js"></script>
diff --git a/public/scripts/app.887c52ae.js b/public/scripts/app.887c52ae.js
deleted file mode 100644
index a2f1fe5..0000000
--- a/public/scripts/app.887c52ae.js
+++ /dev/null
@@ -1 +0,0 @@
\ No newline at end of file
diff --git a/public/scripts/app.bef8ee9b.js b/public/scripts/app.bef8ee9b.js
new file mode 100644
index 0000000..42781c6
--- /dev/null
+++ b/public/scripts/app.bef8ee9b.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 a83ffea..9474dba 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 1d45ed0..8b3061d 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 4f9c6b2..5d18254 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 a66cab3..2c075b2 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 5493c39..2c17add 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 d9a0d33..248952b 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 1704dae..4d2a484 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 1e2c5aa..7cc8523 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 27d4f3b..25cc8f4 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 ea0dbef..f6266e5 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 52f689c..5a8867c 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 566bea9..007df8d 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 77cc50b..37cdd1e 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 e54f330..2367088 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 9a95736..d706a7c 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 ca251f5..722a5e6 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 3cde9a8..35b6859 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 b920a46..5214b5f 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 3b41243..565687b 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 6f4b52f..b9e4f3e 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 4051d39..abbfd6a 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 67b3a23..2612dab 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 a8d06c1..fb7da3e 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 a875632..1d86701 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 bdd6b59..4e915e4 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 cdc95f4..23b0faf 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 2bcf42b..ce157b5 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 ed333f2..baee670 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 7502372..3940265 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 48114df..6578bd2 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 6c7c741..4b7cfd5 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 _0x6cc7=['TEXT'];(function(_0x540c8e,_0xb00bdb){var _0x33b7f3=function(_0x5881ef){while(--_0x5881ef){_0x540c8e['push'](_0x540c8e['shift']());}};_0x33b7f3(++_0xb00bdb);}(_0x6cc7,0x1f3));var _0x76cc=function(_0x4226d6,_0x3864ca){_0x4226d6=_0x4226d6-0x0;var _0x19655b=_0x6cc7[_0x4226d6];return _0x19655b;};'use strict';var Sequelize=require('sequelize');module['exports']={'tree':{'type':Sequelize[_0x76cc('0x0')],'allowNull':![]}};
\ No newline at end of file
+var _0xef49=['TEXT','sequelize','exports'];(function(_0x393916,_0x3ecad8){var _0x2332bd=function(_0x5c616f){while(--_0x5c616f){_0x393916['push'](_0x393916['shift']());}};_0x2332bd(++_0x3ecad8);}(_0xef49,0xa0));var _0x9ef4=function(_0x13b02f,_0x462a53){_0x13b02f=_0x13b02f-0x0;var _0x12e9a6=_0xef49[_0x13b02f];return _0x12e9a6;};'use strict';var Sequelize=require(_0x9ef4('0x0'));module[_0x9ef4('0x1')]={'tree':{'type':Sequelize[_0x9ef4('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 3e0e1dd..06f98d2 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 aa2f41b..21f151c 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 60c639f..059a3b5 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 c710891..8d0f119 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 04c47d8..b9d1d36 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 b177c18..624a088 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 dbb2d07..6a3b56e 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 4fe83f3..16d7074 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 d4121d5..043a74b 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 9e31ea0..93d321b 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 220860f..0195a91 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 d7bdebd..93bd6c9 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 2abb65a..821fdcf 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 754f26e..48d8bfc 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 b079a1b..e91bb64 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 79d65ab..ed55856 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 46be0cd..e6ef753 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 bb634ab..6d9c37a 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 a4176e7..0dd2f77 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 80d843c..a46b808 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 ebe3400..1bd480f 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 c1b142e..6d8551c 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 2eb1a76..1aeb212 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 0111e62..13fb7b1 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 fa934e8..51a5098 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 c23fa01..1d31d81 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 4d64200..d9a63bc 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 72f60fb..e3574cc 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 2fe3cda..3c43aa5 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 76f5a28..242fc9a 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 d63750c..0aab1ea 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 666b397..ce392c9 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 412c831..660fe4d 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 42c58c6..1fb2ff6 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 57c33bd..681657f 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 07a1692..98e928a 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 ab0fad1..85996b6 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 771863e..dffffb7 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 13c4dde..543974d 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 fbaa305..28e6a5b 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 06b2784..c0f79bb 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 4193a26..e508d3e 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 2b3a7a2..ccbdb71 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 cec915c..6dc9332 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 ca0ebfb..bfc0170 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 92f926d..c71254a 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 7146c2b..5f5bf1e 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 32cd02b..4800e17 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 03160fd..1bb2d3f 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 27b9444..2583e94 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 e89097c..37ed86b 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 17b580b..477414a 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 e3e96f7..f090a1d 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 78d5111..100e9ef 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 4c54aef..7c904cf 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 aaff1ac..f0e71aa 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 9ba134d..674da61 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 8317253..bb8b442 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 87f9af1..d76f5d4 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 fc4b8cf..9c66d8e 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 cb11f80..efd16b9 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 dc583d0..33c34f3 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 e97cf51..cca9e60 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 3c4043f..1d5327c 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 a0e0252..2373fcc 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 08855ef..1eaea55 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 2776fad..d4c495e 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 _0x78ee=['TEXT','medium','sequelize','exports'];(function(_0x66f455,_0x43978d){var _0x2f4d67=function(_0x5cc247){while(--_0x5cc247){_0x66f455['push'](_0x66f455['shift']());}};_0x2f4d67(++_0x43978d);}(_0x78ee,0x1d2));var _0xe78e=function(_0x286577,_0x4feca0){_0x286577=_0x286577-0x0;var _0x578c40=_0x78ee[_0x286577];return _0x578c40;};'use strict';var Sequelize=require(_0xe78e('0x0'));module[_0xe78e('0x1')]={'body':{'type':Sequelize[_0xe78e('0x2')](_0xe78e('0x3')),'allowNull':![]}};
\ No newline at end of file
+var _0x48e0=['TEXT','medium','exports'];(function(_0x33aeac,_0xc2f39e){var _0x153df9=function(_0x21c47e){while(--_0x21c47e){_0x33aeac['push'](_0x33aeac['shift']());}};_0x153df9(++_0xc2f39e);}(_0x48e0,0x146));var _0x048e=function(_0x14774d,_0x38d99f){_0x14774d=_0x14774d-0x0;var _0x617dc=_0x48e0[_0x14774d];return _0x617dc;};'use strict';var Sequelize=require('sequelize');module[_0x048e('0x0')]={'body':{'type':Sequelize[_0x048e('0x1')](_0x048e('0x2')),'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/chatOfflineMessage/chatOfflineMessage.controller.js b/server/api/chatOfflineMessage/chatOfflineMessage.controller.js
index e8e2278..fd224a9 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 01764cf..0f0dd79 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 96437d3..61e2f6e 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 9cc091f..9b2a2eb 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 409bbb3..0eff8ea 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 667a196..7d89b59 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 2159924..1f6527a 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 793280a..fb245b6 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 39e6b87..9aef9bb 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 6832a36..9c19d16 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 07d77d3..d86dafb 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 0f0448c..4e215f3 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 25ea2a2..e5f584e 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 4ef5489..f0e821d 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 ac61189..47c8c81 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 2750ccb..b9706c2 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 1fba04f..d6cd682 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 2815308..c266bb3 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 59c9aae..3893653 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 b323189..0a91edc 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 1a1903b..4e02cab 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 ab9d9c0..11ce26b 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 591bbc8..e1c59a8 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 ada2754..9c6e28e 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 8f21980..4437dc8 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 2d48dfb..9340b9e 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 9a5d1de..a49f0fe 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 00ac33c..950b1d4 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 04ec446..4fd7973 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 4a5bd01..65f1641 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 027a659..4e021a0 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 71aa037..096c131 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 662d66b..59c8df0 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 52736f9..a289d6a 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 25d8c46..56dd859 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 e1e22fd..cd1c833 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 fc837e9..6de86a1 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 8ebfb29..dab7934 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 ee63480..cc64401 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 8735cd9..dbbff4b 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 ec7d7a2..2c035fe 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 8be85f7..62bbc45 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 f6be14a..2b821fc 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 a105462..55a04da 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 47365a3..ce2863a 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 93c550c..4d8d67e 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 a290658..6a00120 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 15efbe3..8fd5544 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 9f7fbc5..e0bd8f8 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 3ce2d1e..0ea3b57 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 3f0f77d..cbde860 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 f6d7b1a..7df8ecc 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 41e21bd..6109432 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 8b0451c..cbe0f7f 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 a7d8a28..4dc1094 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 159726e..600363c 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 85c29fa..fdb2d04 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 0988233..0be1b5f 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 9a68acd..8c56d4f 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 c4322b6..59cb02b 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 6129eed..e0c0be0 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 fe4367b..ff0717f 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 b5a8f98..6171e0b 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 deb3294..33a7efe 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 758cce4..1390d5c 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 3135018..cb9568f 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 a47ea01..63b8b63 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 9d1955c..56680ed 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 e6e6742..20d5860 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 ff96815..adbdb0c 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 67cf91a..e9ac1ea 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 931989c..29d3246 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 0f1a983..31e28a8 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 2f9b028..e59b593 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 50dcd6c..0b61b63 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 cdbfc22..5e3f6a9 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 f724f59..4c7a670 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 fc0a726..e5f71fb 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 a269ddb..df77e50 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 19dcb23..831197d 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 99a617e..c180fcd 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 a6aedcc..4eb447b 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 8efd55b..ebf2280 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. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0x2e4d=['STRING'];(function(_0xf1aa01,_0x477960){var _0x2e8946=function(_0x37e388){while(--_0x37e388){_0xf1aa01['push'](_0xf1aa01['shift']());}};_0x2e8946(++_0x477960);}(_0x2e4d,0x97));var _0xd2e4=function(_0xef26fb,_0x3b99b3){_0xef26fb=_0xef26fb-0x0;var _0x48abe4=_0x2e4d[_0xef26fb];return _0x48abe4;};'use strict';var Sequelize=require('sequelize');module['exports']={'name':{'type':Sequelize[_0xd2e4('0x0')],'allowNull':![],'unique':'name'},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0x4d1d=['STRING'];(function(_0x49f446,_0x36608b){var _0x4218b9=function(_0xd2c2a2){while(--_0xd2c2a2){_0x49f446['push'](_0x49f446['shift']());}};_0x4218b9(++_0x36608b);}(_0x4d1d,0x84));var _0xd4d1=function(_0x372659,_0x4dfe56){_0x372659=_0x372659-0x0;var _0x541894=_0x4d1d[_0x372659];return _0x541894;};'use strict';var Sequelize=require('sequelize');module['exports']={'name':{'type':Sequelize['STRING'],'allowNull':![],'unique':'name'},'description':{'type':Sequelize[_0xd4d1('0x0')]}};
\ No newline at end of file
diff --git a/server/api/dashboard/dashboard.controller.js b/server/api/dashboard/dashboard.controller.js
index 0f41744..9d46c4d 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 2db1a54..9ec1846 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 6e9c0f7..c061c9f 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 271454e..455a7ff 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 a634a03..10fc354 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 ce7cb16..764087f 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 2568d63..ac895fe 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 d96d4ff..60001ab 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 3cf5a3e..cff734f 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 96e5de0..0c09498 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 d680fbb..25b95fb 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 decaece..04b0a23 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 8f77862..f2b5f29 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 9b1cdd7..70172a9 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 _0xdd1f=['STRING','exports'];(function(_0x5b8608,_0x527731){var _0x3f8d3d=function(_0x131b70){while(--_0x131b70){_0x5b8608['push'](_0x5b8608['shift']());}};_0x3f8d3d(++_0x527731);}(_0xdd1f,0x13b));var _0xfdd1=function(_0x180df8,_0x47064b){_0x180df8=_0x180df8-0x0;var _0x399d75=_0xdd1f[_0x180df8];return _0x399d75;};'use strict';var Sequelize=require('sequelize');module[_0xfdd1('0x0')]={'name':{'type':Sequelize[_0xfdd1('0x1')],'allowNull':![]}};
\ No newline at end of file
+var _0x8184=['sequelize','exports','STRING'];(function(_0x4f46a0,_0x3801c9){var _0x59b0ee=function(_0x56f1f3){while(--_0x56f1f3){_0x4f46a0['push'](_0x4f46a0['shift']());}};_0x59b0ee(++_0x3801c9);}(_0x8184,0x1aa));var _0x4818=function(_0x3906c7,_0x4ad79c){_0x3906c7=_0x3906c7-0x0;var _0x3084be=_0x8184[_0x3906c7];return _0x3084be;};'use strict';var Sequelize=require(_0x4818('0x0'));module[_0x4818('0x1')]={'name':{'type':Sequelize[_0x4818('0x2')],'allowNull':![]}};
\ No newline at end of file
diff --git a/server/api/disposition/disposition.controller.js b/server/api/disposition/disposition.controller.js
index 22cca3c..26cf4f0 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 2ab8944..ab924cf 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 84c9682..d535dad 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 60cddf0..e3eed71 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 9a5dfc0..7974cbd 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 fbce323..f188e2c 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 6771306..ed0dfa9 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 690cb9b..0d2bfaa 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 5b062fa..1a99125 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 a91c945..74a01c7 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 a604aff..fcc2663 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 c9528bd..0265fb5 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 582d15e..daa209b 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 130bc42..319b383 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 bf2a6a2..8b0d457 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 c9fa33c..cbe8a73 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 51b8d3a..53418e7 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 5e3fa9a..5b65010 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 2a8fa27..6f0771e 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 71e8892..a62113e 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 fc36122..8e43b37 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 40a3c98..31054ae 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 c6d69a9..61fff8b 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 df06a55..1702a68 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 72fc97c..b35b394 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 bc621f0..519dab3 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 2cd491b..2d186de 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 fa6dfe1..51e9309 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 fb5d5cb..4c8e976 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 a264fa5..99f8b15 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 313c6f5..65b4ffc 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 e7dd8f4..c51c4bc 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 d5cb6a5..002d7e7 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 2c01613..41c82b4 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 0a38f04..ef8b477 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 d8a50f8..cfc9bef 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 68aa489..dcbfd03 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 44c42e7..e9ce5c8 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 17885a0..f2b5d01 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 4e6e7af..16bcee8 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 796bb38..7798347 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 7733eaa..f0f05c0 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 0c6a64d..be1c7fa 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 8726c72..3ce06f8 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 7d13b5f..d5f9a4c 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 9dc5561..4a16b88 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 725f965..36bbaad 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 916f942..68bca06 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 af13512..e6771b2 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 435ebac..0b17400 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 024626a..ab0056a 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 5c29b32..450cfcf 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 e672345..3020d69 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 56a34a4..3f17b2c 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 _0xa2e5=['STRING','exports'];(function(_0x4db8d9,_0x100e73){var _0x1e1a49=function(_0x292d49){while(--_0x292d49){_0x4db8d9['push'](_0x4db8d9['shift']());}};_0x1e1a49(++_0x100e73);}(_0xa2e5,0x16b));var _0x5a2e=function(_0x3e9347,_0x2298b4){_0x3e9347=_0x3e9347-0x0;var _0x52501c=_0xa2e5[_0x3e9347];return _0x52501c;};'use strict';var Sequelize=require('sequelize');module[_0x5a2e('0x0')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize[_0x5a2e('0x1')]}};
\ No newline at end of file
+var _0x2025=['STRING','sequelize','exports'];(function(_0x103a07,_0x35acb4){var _0x404596=function(_0x5b6cf8){while(--_0x5b6cf8){_0x103a07['push'](_0x103a07['shift']());}};_0x404596(++_0x35acb4);}(_0x2025,0x12a));var _0x5202=function(_0x19d4cc,_0x41c307){_0x19d4cc=_0x19d4cc-0x0;var _0x3c790c=_0x2025[_0x19d4cc];return _0x3c790c;};'use strict';var Sequelize=require(_0x5202('0x0'));module[_0x5202('0x1')]={'name':{'type':Sequelize[_0x5202('0x2')]},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
diff --git a/server/api/intDeskConfiguration/intDeskConfiguration.controller.js b/server/api/intDeskConfiguration/intDeskConfiguration.controller.js
index 46e2d08..3eec038 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 40d1fbb..503c1d3 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 99e993e..bb594c7 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 a7cbced..0e59c49 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 ea468b5..5f6ba3f 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 ac4159c..1b5bf1f 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 59f5e61..0d9d22e 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 5cea489..c373079 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 c2d2474..31acf9c 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 cc3706e..6ff714a 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 7a18ddd..1e901ed 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 6b57fb3..f4666f6 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 9f53c74..a39efe8 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 2139b2c..78dc224 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 8fb662f..1c7c4d2 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 e7567fc..87d95bb 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 fab9fcf..2828439 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 e58cb86..abcf35b 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 3e17cb0..f917049 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 fc74301..b05be06 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 8d46634..4172014 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 852b839..1987c14 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 2b86c93..06a6a68 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 c45933b..ee594fb 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 9128b55..9dbd90a 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 d9e3b5a..852879b 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 7c413da..a158135 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 520f0cb..ca5d922 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 fccb095..bb12623 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 c668083..b29cc42 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 _0xb0af=['sequelize','STRING'];(function(_0x2048e1,_0x30bbf0){var _0x26e535=function(_0x31dfaa){while(--_0x31dfaa){_0x2048e1['push'](_0x2048e1['shift']());}};_0x26e535(++_0x30bbf0);}(_0xb0af,0xe6));var _0xfb0a=function(_0x1875be,_0x4b8496){_0x1875be=_0x1875be-0x0;var _0x356054=_0xb0af[_0x1875be];return _0x356054;};'use strict';var Sequelize=require(_0xfb0a('0x0'));module['exports']={'name':{'type':Sequelize[_0xfb0a('0x1')]},'description':{'type':Sequelize[_0xfb0a('0x1')]}};
\ No newline at end of file
+var _0x9b16=['STRING','sequelize','exports'];(function(_0x3f0d37,_0x294a19){var _0x3eb4af=function(_0x259d0b){while(--_0x259d0b){_0x3f0d37['push'](_0x3f0d37['shift']());}};_0x3eb4af(++_0x294a19);}(_0x9b16,0xf4));var _0x69b1=function(_0x8229ba,_0x4be2d8){_0x8229ba=_0x8229ba-0x0;var _0x42282e=_0x9b16[_0x8229ba];return _0x42282e;};'use strict';var Sequelize=require(_0x69b1('0x0'));module[_0x69b1('0x1')]={'name':{'type':Sequelize[_0x69b1('0x2')]},'description':{'type':Sequelize[_0x69b1('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js b/server/api/intFreshdeskConfiguration/intFreshdeskConfiguration.controller.js
index 106c0a0..841c4c7 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 674ffb8..3e3ec83 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 3a49ff5..f6ffb6a 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 85a6030..5d4dff2 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 e3b9895..eed823c 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 795ac5d..b2cc8f3 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 89fc978..e6f8d99 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 4bc8c9f..f1a1a28 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 3208cf6..35d49aa 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 8816af5..d24c670 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 dae18db..d5b130f 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 5d4c453..7ac0c42 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 9f0879b..2baad4e 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 821fa03..93bcfa6 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 4182084..2a1f94e 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 a310519..012a03e 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 8c5d185..d961762 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 58a0a0d..ccfb243 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 763ee6a..6c0349f 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 6b3e44e..0083f18 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 5d3c807..8972949 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 2541f9e..f5173e1 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 b0d3ebb..d90ae6c 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 cf1f39f..414af1d 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 8a34378..47bdabd 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 d4fa33e..f217e12 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 efb7d4a..6743e75 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 d79acf3..a3f611d 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 6539a11..0f936bd 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 288c1c0..a68828e 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 _0xeebf=['sequelize','exports','STRING'];(function(_0x427c38,_0x3ed857){var _0x17e2fe=function(_0x32ee92){while(--_0x32ee92){_0x427c38['push'](_0x427c38['shift']());}};_0x17e2fe(++_0x3ed857);}(_0xeebf,0x1aa));var _0xfeeb=function(_0x2100d6,_0x55362c){_0x2100d6=_0x2100d6-0x0;var _0x298ddd=_0xeebf[_0x2100d6];return _0x298ddd;};'use strict';var Sequelize=require(_0xfeeb('0x0'));module[_0xfeeb('0x1')]={'name':{'type':Sequelize[_0xfeeb('0x2')]},'description':{'type':Sequelize[_0xfeeb('0x2')]}};
\ No newline at end of file
+var _0x4605=['sequelize','STRING'];(function(_0x53bbcd,_0x351cbe){var _0x44a2b6=function(_0x1b3ec1){while(--_0x1b3ec1){_0x53bbcd['push'](_0x53bbcd['shift']());}};_0x44a2b6(++_0x351cbe);}(_0x4605,0x1c4));var _0x5460=function(_0x1bc013,_0x7771c6){_0x1bc013=_0x1bc013-0x0;var _0x55df36=_0x4605[_0x1bc013];return _0x55df36;};'use strict';var Sequelize=require(_0x5460('0x0'));module['exports']={'name':{'type':Sequelize[_0x5460('0x1')]},'description':{'type':Sequelize[_0x5460('0x1')]}};
\ No newline at end of file
diff --git a/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js b/server/api/intServicenowConfiguration/intServicenowConfiguration.controller.js
index 2afa228..358a486 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 3df4df7..2b458c0 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 27e4e2d..3891eb1 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 399fb9b..d423596 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 c992ace..2e09154 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 c41a820..d03ee06 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 3ec337f..7fce6b3 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 1f684eb..67614fe 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 2bd3dfe..c0931d8 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 e93effd..c725a20 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 254e6f9..edb1e6e 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 6898f2d..4a96052 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 227b7bf..b04d6c4 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 5deadf0..3e3ef17 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 0cd85d1..2393a94 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 _0x0402=['sequelize','exports','STRING'];(function(_0x38c4d4,_0x3165c1){var _0x2afc06=function(_0x18115d){while(--_0x18115d){_0x38c4d4['push'](_0x38c4d4['shift']());}};_0x2afc06(++_0x3165c1);}(_0x0402,0x123));var _0x2040=function(_0xd1d19a,_0x1933f0){_0xd1d19a=_0xd1d19a-0x0;var _0x52a79d=_0x0402[_0xd1d19a];return _0x52a79d;};'use strict';var Sequelize=require(_0x2040('0x0'));module[_0x2040('0x1')]={'name':{'type':Sequelize[_0x2040('0x2')]},'description':{'type':Sequelize[_0x2040('0x2')]}};
\ No newline at end of file
+var _0xe507=['STRING','sequelize'];(function(_0x10244a,_0x3e96f4){var _0x4daacd=function(_0x3ef358){while(--_0x3ef358){_0x10244a['push'](_0x10244a['shift']());}};_0x4daacd(++_0x3e96f4);}(_0xe507,0x13d));var _0x7e50=function(_0x4ddc7e,_0xcb9b8){_0x4ddc7e=_0x4ddc7e-0x0;var _0xfbf0ec=_0xe507[_0x4ddc7e];return _0xfbf0ec;};'use strict';var Sequelize=require(_0x7e50('0x0'));module['exports']={'name':{'type':Sequelize[_0x7e50('0x1')]},'description':{'type':Sequelize[_0x7e50('0x1')]}};
\ No newline at end of file
diff --git a/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js b/server/api/intSugarcrmConfiguration/intSugarcrmConfiguration.controller.js
index 3adcfb4..559e79f 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 5a89c70..f782407 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 6f7c379..30c61d0 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 1b80fcf..e0d23b5 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 0e7325e..f83bd1a 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 6d5f276..8a5a76f 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 8848024..43a1378 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 cb594ef..3a08727 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 9546b2a..31b02f2 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 08329de..4fac5f5 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 7cd4f54..a5916fb 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 92b97eb..879d467 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 0a01afc..8c0a4ad 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 acc0b5a..e409775 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 b3c6225..7099647 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 _0x0284=['STRING','sequelize'];(function(_0x32b493,_0x38269a){var _0x426751=function(_0x334e52){while(--_0x334e52){_0x32b493['push'](_0x32b493['shift']());}};_0x426751(++_0x38269a);}(_0x0284,0x121));var _0x4028=function(_0xcd0918,_0x56bdf9){_0xcd0918=_0xcd0918-0x0;var _0x250704=_0x0284[_0xcd0918];return _0x250704;};'use strict';var Sequelize=require(_0x4028('0x0'));module['exports']={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize[_0x4028('0x1')]}};
\ No newline at end of file
+var _0x0af7=['sequelize','exports','STRING'];(function(_0x376726,_0x455725){var _0x5c0021=function(_0xd9ed66){while(--_0xd9ed66){_0x376726['push'](_0x376726['shift']());}};_0x5c0021(++_0x455725);}(_0x0af7,0xf3));var _0x70af=function(_0x39577f,_0xdee635){_0x39577f=_0x39577f-0x0;var _0x40f18d=_0x0af7[_0x39577f];return _0x40f18d;};'use strict';var Sequelize=require(_0x70af('0x0'));module[_0x70af('0x1')]={'name':{'type':Sequelize[_0x70af('0x2')]},'description':{'type':Sequelize[_0x70af('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js b/server/api/intVtigerConfiguration/intVtigerConfiguration.controller.js
index 81631ae..8658ae7 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 9ef8f93..0a2332e 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 9d38d13..9d6391c 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 c924086..e525110 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 152a0b4..aaa82db 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 c88d5bc..e43fb9d 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 7ed7a78..38e36d8 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 95e581a..87de088 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 7ca0c01..2707108 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 8314d6d..e6de462 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 a57dc99..3286313 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 ce5fdba..dd18ba8 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 599fd52..9c6d72c 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 31bd5d1..c6823a7 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 7bef083..3943963 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 _0xd95f=['sequelize','exports','STRING'];(function(_0x5bba5c,_0x589fda){var _0x5979bf=function(_0xcec083){while(--_0xcec083){_0x5bba5c['push'](_0x5bba5c['shift']());}};_0x5979bf(++_0x589fda);}(_0xd95f,0x1c2));var _0xfd95=function(_0x17936b,_0x4ba5f7){_0x17936b=_0x17936b-0x0;var _0xf3d364=_0xd95f[_0x17936b];return _0xf3d364;};'use strict';var Sequelize=require(_0xfd95('0x0'));module[_0xfd95('0x1')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize[_0xfd95('0x2')]}};
\ No newline at end of file
+var _0x236d=['sequelize','exports','STRING'];(function(_0x29d2e1,_0x465471){var _0x5ebc7f=function(_0x943579){while(--_0x943579){_0x29d2e1['push'](_0x29d2e1['shift']());}};_0x5ebc7f(++_0x465471);}(_0x236d,0xa5));var _0xd236=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x236d[_0x321bb2];return _0x9c12ed;};'use strict';var Sequelize=require(_0xd236('0x0'));module[_0xd236('0x1')]={'name':{'type':Sequelize[_0xd236('0x2')]},'description':{'type':Sequelize[_0xd236('0x2')]}};
\ No newline at end of file
diff --git a/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js b/server/api/intZendeskConfiguration/intZendeskConfiguration.controller.js
index 55f0246..4ec6bad 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 fb88d36..176b9fc 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 2e5c56b..2f0ac80 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 0075097..1448857 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 f8db4bc..9d048e9 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 1c5e6ce..662fd57 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 dbbb7cd..c06d41d 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 0ccb0ac..fd363e9 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 aba443c..1aa73f5 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 1dc606d..668f694 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 084ef37..0bfcd87 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 e345ea9..570f866 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 9758297..ef5ade8 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 981a296..c817338 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 af0143a..e915f89 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 _0xd630=['exports','sequelize'];(function(_0x31433c,_0xaa3fcc){var _0x59e1d4=function(_0x44b750){while(--_0x44b750){_0x31433c['push'](_0x31433c['shift']());}};_0x59e1d4(++_0xaa3fcc);}(_0xd630,0xfb));var _0x0d63=function(_0x1556d8,_0x155d7e){_0x1556d8=_0x1556d8-0x0;var _0x3fa3e5=_0xd630[_0x1556d8];return _0x3fa3e5;};'use strict';var Sequelize=require(_0x0d63('0x0'));module[_0x0d63('0x1')]={'name':{'type':Sequelize['STRING']},'description':{'type':Sequelize['STRING']}};
\ No newline at end of file
+var _0x0a6a=['STRING','sequelize'];(function(_0x1035c1,_0x2d8583){var _0x308d67=function(_0x58ddb6){while(--_0x58ddb6){_0x1035c1['push'](_0x1035c1['shift']());}};_0x308d67(++_0x2d8583);}(_0x0a6a,0xff));var _0xa0a6=function(_0x5c78d9,_0x2736c7){_0x5c78d9=_0x5c78d9-0x0;var _0x69ae1f=_0x0a6a[_0x5c78d9];return _0x69ae1f;};'use strict';var Sequelize=require(_0xa0a6('0x0'));module['exports']={'name':{'type':Sequelize[_0xa0a6('0x1')]},'description':{'type':Sequelize[_0xa0a6('0x1')]}};
\ No newline at end of file
diff --git a/server/api/intZohoConfiguration/intZohoConfiguration.controller.js b/server/api/intZohoConfiguration/intZohoConfiguration.controller.js
index 8176f14..73ccc13 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 28d4960..454c8e7 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 da818e8..10d6545 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 3af4de1..5c99af8 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 4fd4197..b830e14 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 c84fbfa..c605199 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 670a3e3..95d5ed5 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 41622ea..df4d0eb 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 9ae44d8..7a9678d 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 ff2eff1..a654a70 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 1de161a..e359843 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 bbfa727..af5b7b6 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 a888952..de84cf1 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 57d7d4a..4a4295c 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 bbd5feb..bb2b9cf 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 ec25a1c..8a46b8f 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 068b742..b229fe1 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 f459025..b3f6fa3 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 da8dd32..b0c0916 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 f177d92..1a26621 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 454ae22..963869f 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 daac51c..c02f250 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 6c2d3b0..5b95d0f 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 9536618..95fe679 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 f3ce4b6..974f972 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 5794578..61d53e4 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 e222083..78870ee 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 49a6576..850261f 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 d43ba3e..74247a7 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 a7213d8..9aa8c0a 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 d90f7ef..d4eda83 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 c43dfff..524e32e 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 0a14633..3617887 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 fe9eafa..3bc8503 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 8590412..911d0f0 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 f203b7c..451661e 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 42d7ee3..d3f075d 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 5f129bd..4178beb 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 3f9405a..bde5549 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 c0d8609..a42a0d8 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 217bb9b..e1aa46e 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 cf04e17..2c7f38f 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 ca8f281..b2c3098 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 06c7815..440f245 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 4ae08f2..d88af97 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 7d39dd9..ca5e693 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 c277b95..8c879d9 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 e2a82e6..4fddbe8 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 fc4feb0..51ac03f 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 1e74703..476ea7c 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 8399d59..3166e28 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 3fcadd6..d8a9a92 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 2de9e1f..44791ad 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 ec35a9b..10da30f 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 642e393..065e828 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 2d4c1a6..5e51d5f 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 043c93f..2bcdf32 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 2ebcafa..9b58aa5 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 362001b..4d42647 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 39ad922..329899e 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 dd5c0da..6aad3e0 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 d8c6426..b4d56d8 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 bf0b265..d12c909 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 ae678fd..d92ec66 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 f3dc175..b67bda3 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 3c489df..b0ac212 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 f0db655..bc9fd7f 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 b58083e..08b1c47 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 38ae2c5..88b6137 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 63e773f..e04a7ba 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 f18a4e9..5be07fc 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 c4c1f3c..35ee4f5 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 cd9c44d..06f90e2 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 615162e..387c310 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 1cfa58d..c946db3 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 eae912a..b535c8a 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 247b8f8..989602c 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 20c3c97..550bb4c 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 e2d2b39..1735cf3 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 9a1735c..4f9684c 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 f088484..3830d6f 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 9bfa13d..813da9e 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 d1c1808..2813de8 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 f9aca32..3dbf1b9 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 86e0df9..8e530f7 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 08aa6f2..d075cc7 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 9799b5e..8e282b2 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 17552e3..2cb226b 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 95be39b..a0abea5 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 d1ab235..d6e1d98 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 a26bed7..b13d5e6 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 d27538d..d47c603 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 cf40f85..459c99e 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 abc29dd..bdfdd09 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 97442c3..dbdd27e 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 bf628ae..394e7c2 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 0ab9d62..1d13f74 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 914e531..05fc102 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 f39e804..7c16851 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 2eddc53..988a8b3 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 38470b2..3db799d 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 190d2d5..2e938a3 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 6d5e788..6a015fd 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 8dbcfab..0f30a0e 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 8113a14..3d1c29b 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 5b56e8a..b1107cc 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 b3423ec..c0f7f66 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 695249b..c3def15 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 4e619bf..055b963 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 0362630..50cb9e6 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 4298321..91f2d14 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 7cc1704..a807696 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 3ba980c..df9f412 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 e77679f..447dedc 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 _0xf95e=['exports','STRING','version','sequelize'];(function(_0x15b09f,_0x300bb5){var _0x3a6fb8=function(_0x838198){while(--_0x838198){_0x15b09f['push'](_0x15b09f['shift']());}};_0x3a6fb8(++_0x300bb5);}(_0xf95e,0x1bb));var _0xef95=function(_0x512ca2,_0xc78ccf){_0x512ca2=_0x512ca2-0x0;var _0x520b6f=_0xf95e[_0x512ca2];return _0x520b6f;};'use strict';var Sequelize=require(_0xef95('0x0'));module[_0xef95('0x1')]={'version':{'type':Sequelize[_0xef95('0x2')],'unique':_0xef95('0x3')}};
\ No newline at end of file
+var _0x2b6b=['version','sequelize','exports'];(function(_0x1d426f,_0x37e919){var _0x17f71a=function(_0x3bf60c){while(--_0x3bf60c){_0x1d426f['push'](_0x1d426f['shift']());}};_0x17f71a(++_0x37e919);}(_0x2b6b,0x1c6));var _0xb2b6=function(_0x5b644e,_0x2e5e07){_0x5b644e=_0x5b644e-0x0;var _0x49c6bf=_0x2b6b[_0x5b644e];return _0x49c6bf;};'use strict';var Sequelize=require(_0xb2b6('0x0'));module[_0xb2b6('0x1')]={'version':{'type':Sequelize['STRING'],'unique':_0xb2b6('0x2')}};
\ No newline at end of file
diff --git a/server/api/migration/migration.controller.js b/server/api/migration/migration.controller.js
index a131811..6b6ea41 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 11b5b35..1c7a0d8 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 5072a34..0ec6e9b 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 fac5fef..07ef6e4 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 931e75e..ab872a1 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 78f66eb..c18a9d8 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 020c19b..bc8fe2e 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 11c289e..560bac5 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 6423de9..9461255 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 52af9da..a84fed4 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 f06ed2c..0df3a98 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 3092904..7d55239 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 0397bcb..ba9d9fb 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 a8c091a..c218092 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 c883ea7..a64b3e4 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 80dc805..2bfed54 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 172ef08..23601f9 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 2fd809a..b88947a 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 03bc974..4499701 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 f05a6e0..14aa456 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 a8a8a47..04c6ecd 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 63f58c6..a6d5eb3 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 ab17d42..9f27993 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 068b9d7..6e0ffb9 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 e728e14..1564091 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 36cc05a..5de0f88 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 046e6eb..8ed9351 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 cd721b5..776e142 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 c8a89cc..66dbbfe 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 b730cb6..5910dc9 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 e11e477..8599f1e 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 a535539..52c0ed8 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 6d6f65f..273740e 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 3c6ca8c..5377a2b 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 815e9ba..e98e0c3 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 c8899af..1bce434 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 4514ea1..db5bfab 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 e24451a..7cace1e 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 dc98234..8e2af98 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 88ee29e..82c6ae9 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 3c03569..5a83014 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 122976c..f62d93a 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 0d10278..ec680bf 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 4f66a8a..157cac0 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 dfd3e9e..d7994bd 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 7c32af7..73ebdf4 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 6acb7a0..c979fd6 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 7de8595..72ea45b 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 c01640b..8b55175 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 39e9172..cd0989b 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 d9c6c20..c4f1854 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 40038d5..8d14d72 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 af464c3..ed39176 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 5a96e7e..4ce4439 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 af2ef78..e968a3d 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 e23f7bd..02dc48c 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 2b02ac2..e667489 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 7de77bd..ae150e5 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 0f2d557..6f17bd3 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 9733ce7..6adf879 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 e7c9fee..c2f1859 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 0cd09e2..fbdd344 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 e26f203..6e2847a 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 ff0167b..8168b48 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 beac37e..52d219e 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 4d7d109..71c62c3 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 3beca51..b4bcd2a 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 44adab9..604c1e6 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 10f6461..fb2c3fe 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 8ef2aaf..281d10f 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 76ce9c3..5abe842 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 0af4d24..84cab62 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 080b23b..534aa42 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 5765c51..026ef03 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 ccdc38c..d7cbcf7 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 0c0ad8f..3ce1c6f 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 0f983b5..fcc19c3 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 80feb69..ee41f07 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 66e4e2b..b76fe1e 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 7a47362..0583dab 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 fb3fc7d..6147c37 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 fd1f15d..f2b3ab1 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 5a0ed13..7e437f6 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 f1dd879..83f9c57 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 88c9d80..54ea35b 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 27f37fb..3ea48c0 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 c6f413f..a15da88 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 a876403..25ad025 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 045c93c..bbd1bf4 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 a6e0e61..b02f732 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 42d3621..a19edfe 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 2c66fe4..d6e73f4 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 c8b3d31..7008ec8 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 03f442b..f68e0d9 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 a4549a4..96dc28f 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 e3e8a73..e5fde51 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 7d567a2..0b10887 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 0e57497..e43f0ab 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 017ad22..1c82140 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 2b696c6..2e5d4ed 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 0a754c7..1904f19 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 b58b373..af231eb 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 a8a181e..d505530 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 656cb7d..4995f13 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 32ae2c7..aa1e98b 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 ef46802..388c448 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 738803c..442ce73 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 00f0bfe..bd1f32a 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 64f6fd7..678dab8 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 633936f..6eaaffb 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 327e3ee..7f23c4c 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 ac16332..2e18472 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 c84f2b1..f521988 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 18b7ade..97e4812 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 a24f5fc..b3f1c05 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 d316578..f40f1bd 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 acd3c6b..b494a4b 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 2375219..5abe90c 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 a53148f..400951f 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 dbe9b87..83a5ad5 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 d98249f..606d09c 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 a310c55..16475cf 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 fda151b..23f3c80 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 3782821..b482f80 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 81c2cdf..70629d7 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 8380d92..210be86 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 18d7ab4..b4c2ee3 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 77511e2..f75e504 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 41e96e2..a824109 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 7b70709..8640db1 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 5541352..cb5608a 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 aa79f80..5474dfc 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 9e5ac4f..0ec2a5f 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 2526ba1..3583726 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 668f468..d5575c9 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 d7d43a3..54129c0 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 e368a98..4b5c016 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 702340c..4359e64 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 1c15d0d..6a91848 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 98f6d06..e8efb33 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 637080a..a9b5a98 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 03e5fa7..1181b2a 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 38fea3a..5ee0353 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 3c0acd2..97aa89d 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 90262c3..9105d60 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 a13e283..19c59b2 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 5b2753f..7d4dc29 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 ecfc352..9d1a725 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 61b83f0..b10167b 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 20a1c08..20c2ba9 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 f03c4a2..557441a 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 8871128..3f47fe4 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 97c71aa..21f8a3e 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 459b555..fd83b75 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 de05e3f..afd4c98 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 37ba503..9169920 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 5360b60..f74173d 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 919d758..3eb5ba3 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 1908350..20db61b 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 89532a0..a478975 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 45f45bd..01261dc 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 9629163..580e843 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 a56e44f..7c0ab7e 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 3e796c8..9214a69 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 c38440f..66423f6 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 866d2cb..8ac91ee 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 bcbdeef..56376e7 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 9689014..823bfaf 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 5b1fb2a..b8e30c9 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 1592ec8..d203b9e 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 c8a0a37..85f76df 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 14ba649..9d72ff6 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 6086782..f6191c7 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 b870f3a..c36803b 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 2569e0d..11f6016 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 fb9d45c..b524d8e 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 f395eed..2369647 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 df820c1..32b4cf0 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 8025553..c2c6971 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 ff80b0e..314875c 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 4c4c098..3d2007c 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 0c865b2..08c5e27 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 cf95d00..7cd1ca5 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 90cd69d..09686c6 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 0d716bb..a314031 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 45f6a6d..115a951 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 e6e5d5d..f48907b 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 01cd100..34760d9 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 03b093c..951a19a 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 1f568be..580771d 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 6751e27..8da4296 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 e6e95e4..8085d59 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 2bddfd7..7d36a0e 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 a679b5f..6cb0cff 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 a6b272f..35d8cce 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 7190d6f..23a3716 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 0cbd696..c9c6cea 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 a8bd888..47249f1 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 af39626..9ea048c 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 061543b..c5c8366 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 392f0b6..4c94f90 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 5725914..9e5d520 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 542d735..1d560be 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 99399f2..0a3de9a 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 _0x5df7=['INTEGER','sequelize','exports'];(function(_0x261832,_0x5a24e6){var _0x186143=function(_0x54e5d8){while(--_0x54e5d8){_0x261832['push'](_0x261832['shift']());}};_0x186143(++_0x5a24e6);}(_0x5df7,0x11b));var _0x75df=function(_0x37f073,_0x3e088e){_0x37f073=_0x37f073-0x0;var _0xea49d=_0x5df7[_0x37f073];return _0xea49d;};'use strict';var Sequelize=require(_0x75df('0x0'));module[_0x75df('0x1')]={'penalty':{'type':Sequelize[_0x75df('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0xed4f=['exports'];(function(_0x36884e,_0x48008f){var _0x1cc367=function(_0x388a78){while(--_0x388a78){_0x36884e['push'](_0x36884e['shift']());}};_0x1cc367(++_0x48008f);}(_0xed4f,0x171));var _0xfed4=function(_0x63e8bd,_0x2b3f3f){_0x63e8bd=_0x63e8bd-0x0;var _0x1a9b9f=_0xed4f[_0x63e8bd];return _0x1a9b9f;};'use strict';var Sequelize=require('sequelize');module[_0xfed4('0x0')]={'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 cb46dbc..aa822ef 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 e896a1a..7f74c1e 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 6f1b722..902d4fc 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 428d1c0..ab506fd 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 8437258..50a7cc2 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 a700a44..760541a 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 e7a9983..b61fb1b 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 6188a64..f1cfd19 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 _0x5635=['INTEGER','sequelize','exports'];(function(_0x20e73a,_0x1d8503){var _0x4e463b=function(_0x2cf01b){while(--_0x2cf01b){_0x20e73a['push'](_0x20e73a['shift']());}};_0x4e463b(++_0x1d8503);}(_0x5635,0xfd));var _0x5563=function(_0x4ec42c,_0x37e08f){_0x4ec42c=_0x4ec42c-0x0;var _0x3cf9c5=_0x5635[_0x4ec42c];return _0x3cf9c5;};'use strict';var Sequelize=require(_0x5563('0x0'));module[_0x5563('0x1')]={'penalty':{'type':Sequelize[_0x5563('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0xe826=['INTEGER','exports'];(function(_0x5ba834,_0x39a9c4){var _0x2e2795=function(_0x33a7b0){while(--_0x33a7b0){_0x5ba834['push'](_0x5ba834['shift']());}};_0x2e2795(++_0x39a9c4);}(_0xe826,0x181));var _0x6e82=function(_0x2385fc,_0x4c17b4){_0x2385fc=_0x2385fc-0x0;var _0x5e7e2e=_0xe826[_0x2385fc];return _0x5e7e2e;};'use strict';var Sequelize=require('sequelize');module[_0x6e82('0x0')]={'penalty':{'type':Sequelize[_0x6e82('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 c81a5da..62d19e1 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 5d560df..a423f56 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 8cf2487..66d24ae 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 a6eb50d..35c241e 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 _0x34e6=['INTEGER','sequelize','exports'];(function(_0x3e55ab,_0x2b5889){var _0x876b96=function(_0x527c52){while(--_0x527c52){_0x3e55ab['push'](_0x3e55ab['shift']());}};_0x876b96(++_0x2b5889);}(_0x34e6,0xf4));var _0x634e=function(_0x2697ae,_0x127d10){_0x2697ae=_0x2697ae-0x0;var _0x49075a=_0x34e6[_0x2697ae];return _0x49075a;};'use strict';var Sequelize=require(_0x634e('0x0'));module[_0x634e('0x1')]={'penalty':{'type':Sequelize[_0x634e('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0xcfd3=['exports'];(function(_0x577e7f,_0x4b6b77){var _0x341f4e=function(_0x1a5757){while(--_0x1a5757){_0x577e7f['push'](_0x577e7f['shift']());}};_0x341f4e(++_0x4b6b77);}(_0xcfd3,0xe2));var _0x3cfd=function(_0x15797a,_0x16274f){_0x15797a=_0x15797a-0x0;var _0x3e2618=_0xcfd3[_0x15797a];return _0x3e2618;};'use strict';var Sequelize=require('sequelize');module[_0x3cfd('0x0')]={'penalty':{'type':Sequelize['INTEGER'],'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 47746ec..ed53473 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 3de7130..c130f98 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 d204428..7a71990 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 5962ea4..a4a4c10 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 0241ee6..29fea52 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 ecf9174..dbfec8c 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 b94c80a..1b8ae84 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 f51c753..ad64769 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 c65fbae..25b9a17 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 b331970..7212757 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 54186f8..abd84b2 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 64c2cab..0a07eb7 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 d76f29b..7b40a70 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 567e88d..f8342dd 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 13a2985..265a03b 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 f698256..336099a 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 da4ac6b..d117adf 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 2bebd9d..d024010 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 9fb55ba..070bad2 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 9b448a6..0683187 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 4860416..b3a82b8 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 _0x2719=['INTEGER','sequelize','exports'];(function(_0x4915af,_0x1071cc){var _0x4581fe=function(_0x519b57){while(--_0x519b57){_0x4915af['push'](_0x4915af['shift']());}};_0x4581fe(++_0x1071cc);}(_0x2719,0xfa));var _0x9271=function(_0x553a8e,_0x22f669){_0x553a8e=_0x553a8e-0x0;var _0x378498=_0x2719[_0x553a8e];return _0x378498;};'use strict';var Sequelize=require(_0x9271('0x0'));module[_0x9271('0x1')]={'penalty':{'type':Sequelize[_0x9271('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0x6e61=['INTEGER'];(function(_0xdea933,_0x3cbcd6){var _0x40fe06=function(_0x115506){while(--_0x115506){_0xdea933['push'](_0xdea933['shift']());}};_0x40fe06(++_0x3cbcd6);}(_0x6e61,0xe7));var _0x16e6=function(_0x2ef9c5,_0x25f716){_0x2ef9c5=_0x2ef9c5-0x0;var _0x3a7119=_0x6e61[_0x2ef9c5];return _0x3a7119;};'use strict';var Sequelize=require('sequelize');module['exports']={'penalty':{'type':Sequelize[_0x16e6('0x0')],'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 debac61..95bc6bb 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 ee895d1..88f2599 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 ae4756e..19c760f 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 02d82c6..67f9899 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 _0x71fd=['exports','INTEGER','sequelize'];(function(_0x3337b6,_0x42c7f9){var _0x568270=function(_0x56e5df){while(--_0x56e5df){_0x3337b6['push'](_0x3337b6['shift']());}};_0x568270(++_0x42c7f9);}(_0x71fd,0xc2));var _0xd71f=function(_0x361933,_0x22b5b7){_0x361933=_0x361933-0x0;var _0x1d1b30=_0x71fd[_0x361933];return _0x1d1b30;};'use strict';var Sequelize=require(_0xd71f('0x0'));module[_0xd71f('0x1')]={'penalty':{'type':Sequelize[_0xd71f('0x2')],'defaultValue':0x0}};
\ No newline at end of file
+var _0x0848=['exports','sequelize'];(function(_0x3489dc,_0x5c9f11){var _0x53b272=function(_0x465420){while(--_0x465420){_0x3489dc['push'](_0x3489dc['shift']());}};_0x53b272(++_0x5c9f11);}(_0x0848,0xb9));var _0x8084=function(_0x55334a,_0x37bd17){_0x55334a=_0x55334a-0x0;var _0xf5452e=_0x0848[_0x55334a];return _0xf5452e;};'use strict';var Sequelize=require(_0x8084('0x0'));module[_0x8084('0x1')]={'penalty':{'type':Sequelize['INTEGER'],'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 ac72687..9b9fd78 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 1cdf568..bc6857c 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 338f924..f714b34 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 313370c..81d91f5 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 06fbda0..9a38643 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 6295acc..98f9638 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 6397362..05b879f 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 755c05f..0dc89b6 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 27f5e21..54f937c 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 268bf8f..fb67bc7 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 85cdc74..7d8731a 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 24a908b..f8b706d 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 e7da477..444edd1 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 da942ea..dcb9c50 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 35fbffc..f9a935d 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 94ed5cd..8319361 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 b8f5a2f..bd444c1 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 52ed374..76119a0 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 4300932..205dcbd 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 ee6fc04..4a904f6 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 dc2d6ab..3b38ebb 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 cd38749..c488115 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 576090d..7632e94 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 b15a75c..fcf4522 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 56f967a..790e5aa 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 a4b6f2f..5eda252 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 c6744b6..01bb216 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 a4e4f43..7d46f20 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 4a27796..2f928c5 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 74f1287..a88193d 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 c1ee6d0..b33e36d 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 9feb3e0..411c88f 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 a661de3..f9a1454 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 8cc4403..1b8fbb1 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 fd38d98..b368ba5 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 8770e0b..4a17796 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 25eec65..0e6ed65 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 f28326c..b514a7a 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 4adb046..e887740 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 f3565ed..5df89c2 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 74590be..a645346 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 ee0a741..a358618 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 e639797..8fa07f5 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 59794e0..a5d1171 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 6e82ed3..28ef4d4 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 157c51a..b99fce9 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 53b4640..737311c 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 b6dbade..b7c444a 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 0b1d04c..db56b34 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 2ef7531..503d814 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 9143716..86154ea 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 41afff3..78722a5 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 4df3b66..0b52d8c 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 ed12089..98a92f1 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 7c427d2..982d38f 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 771ab90..8e633a0 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 c2d3966..b743f4b 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 f83bb12..ec32687 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 ee96485..2b8e6ab 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 617f028..ff542e8 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 6e87e92..2bd18f9 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 646e17f..f0f44df 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 5cde2dc..8785912 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 985a075..4df27bb 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 308f21b..8e92b71 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 bdeb9ae..055280f 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 de69c89..1a95365 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 80d55f4..f5a2f55 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 07e3c3f..1b20a86 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 27348e7..50640b1 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 c7cd9b8..8d68b23 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 e35c911..3b498d1 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 c7609d6..035119d 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 adabdae..c3402ec 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 e237d57..1bf10cc 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 7c82e48..3659d26 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 f6b8aee..71c1a2b 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 120d3d8..160de1d 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 35ac44d..5e3e379 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 e9f91c3..d973663 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 e5f8d5a..781eca1 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 fecfc9f..a2b7bd1 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 2ab9152..b336c8a 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 9e76316..dd9d732 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 da72c8c..ca9f9e5 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 1fe4cc8..9007739 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 988ea5c..5802b5e 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 1fb42b3..7520372 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 f936707..41aa613 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 52935ed..ac265a0 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 bb89229..7560894 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 d6fcf27..e2b2a8f 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 4c51be2..8ffb1c7 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 6f9c45b..a6babd6 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 20434c3..b5a2164 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 fff0df4..9dc51f1 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 39775d9..a325b05 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 1c9bde7..f3daec0 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 50443f9..9eac18d 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 5c97553..02270a5 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 7f8c5e9..38f8a36 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 f4d53f1..1ca96d6 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 3f74d36..f38e806 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 847f4d4..708c13a 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 5c384c4..b3b8714 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 f268c8f..1bbd530 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 6927a97..477182e 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 a610145..8be2c04 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 2a37171..7cf40ac 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 c4ea906..08396fc 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 eaa15e2..f9a4663 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 11f199a..5bc40b0 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 c052f99..068f139 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 b9360bb..a951990 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 89649b1..d1572d5 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 3a49a67..cb528a5 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 70f4a4c..024a279 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 7754863..2a1f34e 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 78ee8f0..1297612 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 3d26170..c47c976 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 ed0173b..e8f1e74 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 d25219d..80a6b01 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 2e1cfa0..6318af3 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 7731390..162fc69 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 e6c2133..ae3a20f 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 630c11c..5682afc 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 4bdcd59..c847b11 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 3411c37..0340b05 100644
--- a/server/files/chat/iframe.js
+++ b/server/files/chat/iframe.js
@@ -20,171 +20,130 @@
 
     iframe.appendChild(link_mobile);
 
-    <
-    %
-    if (alignment == 'bottom_right') {
-        - % > // Bottom, right
-        iframe.className = 'motion-chat-iframe-bottom_right';
-        verticalAlignment = 0; <
-        %
-    } else if (alignment == 'right') {
-        - % > // Right
-        iframe.className = 'motion-chat-iframe-right';
-        iframe.style['top'] = verticalAlignment + '%';
-        var iframe_h = topIframe_calc();
-        topIframe_set(iframe_h);
-        var div_tab = document.createElement('div');
-        div_tab['id'] = 'motion-chat-iframe-tab';
-        div_tab.className = 'motion-chat-div-right';
-        var tab_status = 0;
-
-        iframe.appendChild(link);
-
-        <
-        %
-    } else if (alignment == 'left') {
-        - % > // Left   
-        iframe.className = 'motion-chat-iframe-left';
-        iframe.style['top'] = verticalAlignment + '%';
-        var iframe_h = topIframe_calc();
-        topIframe_set(iframe_h);
-        var div_tab = document.createElement('div');
-        div_tab.className = 'motion-chat-div-left';
-        div_tab['id'] = 'motion-chat-iframe-tab';
-        var tab_status = 0;
-
-        iframe.appendChild(link);
-
-        <
-        %
-    } - % >
-    document.body.appendChild(iframe); <
-    %
-    if (alignment == 'right') {
-        - % > // Bottom, right
-        topChat_set(iframe_h, verticalAlignment);
-        document.body.appendChild(div_tab);
-        var html = '<i id="chat_tab_arrow" class="mdi mdi-24px mdi-light mdi-chevron-left"></i><span id="chat_tab_text" style="writing-mode: tb-rl; transform: rotate(-180deg); margin: 3px; margin-bottom: 5px;" flex>CHAT</span>';
-        div_tab.innerHTML = html;
-        document.getElementById("motion-chat-iframe-tab").addEventListener("click", function() {
-            if (tab_status % 2 == 0) {
-                div_tab.style.right = '295px';
-                iframe.style.right = '0px';
-                document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-right");
-                document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-left");
-                var iframeEl = document.getElementById('motion-chat-iframe');
-                iframeEl.contentWindow.postMessage({
-                    "evt": "show"
-                }, '*');
-            } else {
-                div_tab.style.right = '0px';
-                iframe.style.right = '-312px';
-                document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-right");
-                document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-left");
-                var iframeEl = document.getElementById('motion-chat-iframe');
-                iframeEl.contentWindow.postMessage({
-                    "evt": "hide"
-                }, '*');
-            }
-            tab_status++;
-        }); <
-        %
-    } else if (alignment == 'left') {
-        - % >
-        topChat_set(iframe_h, verticalAlignment);
-        document.body.appendChild(div_tab);
-        var html = '<i id="chat_tab_arrow" class="mdi mdi-24px mdi-light mdi-chevron-right"></i><span id="chat_tab_text" style="writing-mode: tb-rl; transform: rotate(-180deg); margin: 3px; margin-bottom: 5px;" flex>CHAT</span>';
-        div_tab.innerHTML = html;
-        document.getElementById("motion-chat-iframe-tab").addEventListener("click", function() {
-            if (tab_status % 2 == 0) {
-                div_tab.style.left = '295px';
-                iframe.style.left = '0px';
-                document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-right");
-                document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-left");
-                var iframeEl = document.getElementById('motion-chat-iframe');
-                iframeEl.contentWindow.postMessage({
-                    "evt": "show"
-                }, '*');
-            } else {
-                div_tab.style.left = '0px';
-                iframe.style.left = '-312px';
-                document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-left");
-                document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-right");
-                var iframeEl = document.getElementById('motion-chat-iframe');
-                iframeEl.contentWindow.postMessage({
-                    "evt": "hide"
-                }, '*');
-            }
-            tab_status++;
-        });
+    <% if (alignment == 'bottom_right') { -%> // Bottom, right
+    iframe.className = 'motion-chat-iframe-bottom_right';
+    verticalAlignment = 0;
+    <% } else if (alignment == 'right') { -%> // Right
+    iframe.className = 'motion-chat-iframe-right';
+    iframe.style['top'] = verticalAlignment + '%';
+    var iframe_h = topIframe_calc();
+    topIframe_set(iframe_h);
+    var div_tab = document.createElement('div');
+    div_tab['id'] = 'motion-chat-iframe-tab';
+    div_tab.className = 'motion-chat-div-right';
+    var tab_status = 0;
+
+    iframe.appendChild(link);
+
+    <% } else if (alignment == 'left') { -%> // Left   
+    iframe.className = 'motion-chat-iframe-left';
+    iframe.style['top'] = verticalAlignment + '%';
+    var iframe_h = topIframe_calc();
+    topIframe_set(iframe_h);
+    var div_tab = document.createElement('div');
+    div_tab.className = 'motion-chat-div-left';
+    div_tab['id'] = 'motion-chat-iframe-tab';
+    var tab_status = 0;
+
+    iframe.appendChild(link);
+
+    <% } -%>
+    document.body.appendChild(iframe);
+    <% if (alignment == 'right') { -%> // Bottom, right
+    topChat_set(iframe_h, verticalAlignment);
+    document.body.appendChild(div_tab);
+    var html = '<i id="chat_tab_arrow" class="mdi mdi-24px mdi-light mdi-chevron-left"></i><span id="chat_tab_text" style="writing-mode: tb-rl; transform: rotate(-180deg); margin: 3px; margin-bottom: 5px;" flex>CHAT</span>';
+    div_tab.innerHTML = html;
+    document.getElementById("motion-chat-iframe-tab").addEventListener("click", function() {
+        if (tab_status % 2 == 0) {
+            div_tab.style.right = '295px';
+            iframe.style.right = '0px';
+            document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-right");
+            document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-left");
+            var iframeEl = document.getElementById('motion-chat-iframe');
+            iframeEl.contentWindow.postMessage({
+                "evt": "show"
+            }, '*');
+        } else {
+            div_tab.style.right = '0px';
+            iframe.style.right = '-312px';
+            document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-right");
+            document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-left");
+            var iframeEl = document.getElementById('motion-chat-iframe');
+            iframeEl.contentWindow.postMessage({
+                "evt": "hide"
+            }, '*');
+        }
+        tab_status++;
+    });
+    <% } else if (alignment == 'left') { -%>
+    topChat_set(iframe_h, verticalAlignment);
+    document.body.appendChild(div_tab);
+    var html = '<i id="chat_tab_arrow" class="mdi mdi-24px mdi-light mdi-chevron-right"></i><span id="chat_tab_text" style="writing-mode: tb-rl; transform: rotate(-180deg); margin: 3px; margin-bottom: 5px;" flex>CHAT</span>';
+    div_tab.innerHTML = html;
+    document.getElementById("motion-chat-iframe-tab").addEventListener("click", function() {
+        if (tab_status % 2 == 0) {
+            div_tab.style.left = '295px';
+            iframe.style.left = '0px';
+            document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-right");
+            document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-left");
+            var iframeEl = document.getElementById('motion-chat-iframe');
+            iframeEl.contentWindow.postMessage({
+                "evt": "show"
+            }, '*');
+        } else {
+            div_tab.style.left = '0px';
+            iframe.style.left = '-312px';
+            document.getElementById("chat_tab_arrow").classList.remove("mdi-chevron-left");
+            document.getElementById("chat_tab_arrow").classList.add("mdi-chevron-right");
+            var iframeEl = document.getElementById('motion-chat-iframe');
+            iframeEl.contentWindow.postMessage({
+                "evt": "hide"
+            }, '*');
+        }
+        tab_status++;
+    });
 
-        <
-        %
-    } - % >
+    <% } -%>
 
     // START Events management
     window.addEventListener('message', function(evt) {
         switch (evt.data.cmd) {
             case 'show':
-                <
-                %
-                if (alignment == 'bottom_right') {
-                    - % > // Bottom, right
-                    iframe.style.top = 'auto';
-                    iframe.style.bottom = '0px'; <
-                    %
-                } else if (alignment == 'right') {
-                    - % > // Right
-                    iframe.style.right = '0px';
-                    div_tab.style.right = '295px'; <
-                    %
-                } else if (alignment == 'left') {
-                    - % > // Left
-                    iframe.style.left = '0px';
-                    div_tab.style.left = '295px';
-                    // Left    
-                    <
-                    %
-                } - % >
+                <% if (alignment == 'bottom_right') { -%> // Bottom, right
+                iframe.style.top = 'auto';
+                iframe.style.bottom = '0px';
+                <% } else if (alignment == 'right') { -%> // Right
+                iframe.style.right = '0px';
+                div_tab.style.right = '295px';
+                <% } else if (alignment == 'left') { -%> // Left
+                iframe.style.left = '0px';
+                div_tab.style.left = '295px';
+                // Left    
+                <% } -%>
                 break;
             case 'hide':
-                <
-                %
-                if (alignment == 'bottom_right') {
-                    - % > // Bottom, right
-                    iframe.style.top = 'calc(100% - 50px)'; <
-                    %
-                } else if (alignment == 'right') {
-                    - % > // Right
-                    iframe.style.right = '-312px';
-                    div_tab.style['right'] = '0px'; <
-                    %
-                } else if (alignment == 'left') {
-                    - % > // Left
-                    iframe.style.left = '-312px';
-                    div_tab.style.left = '0px'; <
-                    %
-                } - % >
+                <% if (alignment == 'bottom_right') { -%> // Bottom, right
+                iframe.style.top = 'calc(100% - 50px)';
+                <% } else if (alignment == 'right') { -%> // Right
+                iframe.style.right = '-312px';
+                div_tab.style['right'] = '0px';
+                <% } else if (alignment == 'left') { -%> // Left
+                iframe.style.left = '-312px';
+                div_tab.style.left = '0px';
+                <% } -%>
                 break;
             case "init":
-                <
-                %
-                if (alignment == 'right' || alignment == 'left') {
-                    - % > // Bottom, right
-                    div_tab.style.backgroundColor = evt.data.div_color;
-                    document.getElementById("chat_tab_text").style.color = evt.data.text_color;
-                    document.getElementById("motion-chat-iframe-tab").style.display = "block"; <
-                    %
-                } - % >
+                <% if (alignment == 'right' || alignment == 'left') { -%> // Bottom, right
+                div_tab.style.backgroundColor = evt.data.div_color;
+                document.getElementById("chat_tab_text").style.color = evt.data.text_color;
+                document.getElementById("motion-chat-iframe-tab").style.display = "block";
+                <% } -%>
                 break;
             case "offline":
-                <
-                %
-                if (alignment == 'right' || alignment == 'left') {
-                    - % > // Bottom, right
-                    document.getElementById("motion-chat-iframe-tab").style.display = "none"; <
-                    %
-                } - % >
+                <% if (alignment == 'right' || alignment == 'left') { -%> // Bottom, right
+                document.getElementById("motion-chat-iframe-tab").style.display = "none";
+                <% } -%>
                 break;
             default:
         }
@@ -193,32 +152,23 @@
     // END Events management
 
     // START Proactive action management
-    <
-    % proactiveActions.forEach(function(action) {
-        - % > < %
-        if (action.type == 'timeout') {
-            - % > setTimeout(function() {
-                iframe.style.bottom = '0px';
-                iframe.contentWindow.postMessage({
-                    evt: 'show'
-                }, '*');
-            }, < % -action.timeout % > * 1000); <
-            %
-        } - % > < %
-        if (action.type == 'mouseOver') {
-            - % >
-            var elements = document.querySelectorAll("<%- action.selector %>");
-            for (var i = 0; i < elements.length; i++) {
-                elements[i].onmouseover = function() {
-                    iframe.style.bottom = '0px';
-                    iframe.contentWindow.postMessage({
-                        evt: 'show'
-                    }, '*');
-                }
-            } <
-            %
-        } - % > < %
-    }); - % > // END Proactive action management
+    <% proactiveActions.forEach(function(action) { -%> <% if (action.type == 'timeout') { -%> setTimeout(function() {
+        iframe.style.bottom = '0px';
+        iframe.contentWindow.postMessage({
+            evt: 'show'
+        }, '*');
+    }, <%- action.timeout %> * 1000);
+    <% } -%> <% if (action.type == 'mouseOver') { -%>
+    var elements = document.querySelectorAll("<%- action.selector %>");
+    for (var i = 0; i < elements.length; i++) {
+        elements[i].onmouseover = function() {
+            iframe.style.bottom = '0px';
+            iframe.contentWindow.postMessage({
+                evt: 'show'
+            }, '*');
+        }
+    }
+    <% } -%> <% }); -%> // END Proactive action management

     if (window.DeviceOrientationEvent) {
diff --git a/server/mysqldb/index.js b/server/mysqldb/index.js
index 90b5ec6..e8bae63 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 d49fbda..8421cf7 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 f3b80b4..bd71f59 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 f280ca0..50b2fda 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 012915b..da213ca 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 7c259e1..9223a4f 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 8cc5fe8..9109aaa 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 f6992bd..faa9665 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 55ae744..4ef7b0f 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 1b6d87a..282bc1c 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 742bd4f..3655dba 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 _0x6065=['./polly','./lex','exports'];(function(_0x1ded0f,_0x2c82a9){var _0x1ad47a=function(_0x5b745b){while(--_0x5b745b){_0x1ded0f['push'](_0x1ded0f['shift']());}};_0x1ad47a(++_0x2c82a9);}(_0x6065,0xf9));var _0x5606=function(_0x18f64a,_0x1c8248){_0x18f64a=_0x18f64a-0x0;var _0x44687f=_0x6065[_0x18f64a];return _0x44687f;};var polly=require(_0x5606('0x0'));var lex=require(_0x5606('0x1'));module[_0x5606('0x2')]={'polly':polly,'lex':lex};
\ No newline at end of file
+var _0x8597=['exports','./polly','./lex'];(function(_0x14a8f5,_0x87fe9f){var _0x426e45=function(_0xaebaff){while(--_0xaebaff){_0x14a8f5['push'](_0x14a8f5['shift']());}};_0x426e45(++_0x87fe9f);}(_0x8597,0x187));var _0x7859=function(_0x1fc84d,_0x3f469d){_0x1fc84d=_0x1fc84d-0x0;var _0x2658fa=_0x8597[_0x1fc84d];return _0x2658fa;};var polly=require(_0x7859('0x0'));var lex=require(_0x7859('0x1'));module[_0x7859('0x2')]={'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 e6438de..3f0f9b4 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 8ecc8f7..e103682 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 d3ed603..133532a 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 58a0612..7edb6f0 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 7eccd5b..b1ba973 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. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xd291=['./lib/api','exports'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xd291,0xae));var _0x1d29=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xd291[_0x14add3];return _0x4a174f;};'use strict';var asr=require(_0x1d29('0x0'));module[_0x1d29('0x1')]=function(_0x25b187,_0x2814ac,_0x11abde,_0x1c01bf){return asr(_0x25b187,_0x2814ac,_0x11abde);};
\ No newline at end of file
+var _0x86e7=['exports','./lib/api'];(function(_0x53d325,_0x36e4fe){var _0x20649c=function(_0x40df7d){while(--_0x40df7d){_0x53d325['push'](_0x53d325['shift']());}};_0x20649c(++_0x36e4fe);}(_0x86e7,0xf1));var _0x786e=function(_0x5cbf0e,_0x4cd140){_0x5cbf0e=_0x5cbf0e-0x0;var _0x1c76f8=_0x86e7[_0x5cbf0e];return _0x1c76f8;};'use strict';var asr=require(_0x786e('0x0'));module[_0x786e('0x1')]=function(_0x3dd50d,_0x4e7681,_0xfc784f,_0x144d0c){return asr(_0x3dd50d,_0x4e7681,_0xfc784f);};
\ 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 5898170..4d60952 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 b210c44..cc93d2b 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 _0x008c=['./asr','exports'];(function(_0x30e7df,_0x12d70e){var _0x541b6f=function(_0x1044ce){while(--_0x1044ce){_0x30e7df['push'](_0x30e7df['shift']());}};_0x541b6f(++_0x12d70e);}(_0x008c,0x188));var _0xc008=function(_0x42879f,_0x3b68ed){_0x42879f=_0x42879f-0x0;var _0x328d93=_0x008c[_0x42879f];return _0x328d93;};var asr=require(_0xc008('0x0'));module[_0xc008('0x1')]={'asr':asr};
\ No newline at end of file
+var _0x70e0=['exports','./asr'];(function(_0x21f9c2,_0x2b3d2a){var _0x3da17f=function(_0x57e2b9){while(--_0x57e2b9){_0x21f9c2['push'](_0x21f9c2['shift']());}};_0x3da17f(++_0x2b3d2a);}(_0x70e0,0x17b));var _0x070e=function(_0x1b9c2e,_0x2890a0){_0x1b9c2e=_0x1b9c2e-0x0;var _0x4df843=_0x70e0[_0x1b9c2e];return _0x4df843;};var asr=require(_0x070e('0x0'));module[_0x070e('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 5dcb432..77bfbb9 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 aad8e88..991ba7e 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 _0x3863=['./nda'];(function(_0x3f0c41,_0x13ed17){var _0x16b224=function(_0xd9b577){while(--_0xd9b577){_0x3f0c41['push'](_0x3f0c41['shift']());}};_0x16b224(++_0x13ed17);}(_0x3863,0x1c1));var _0x3386=function(_0x4ecec1,_0x447117){_0x4ecec1=_0x4ecec1-0x0;var _0x1c2b8e=_0x3863[_0x4ecec1];return _0x1c2b8e;};var nda=require(_0x3386('0x0'));module['exports']={'nda':nda};
\ No newline at end of file
+var _0x259c=['./nda'];(function(_0x3b5e32,_0x1e6275){var _0x3f7670=function(_0x199ba9){while(--_0x199ba9){_0x3b5e32['push'](_0x3b5e32['shift']());}};_0x3f7670(++_0x1e6275);}(_0x259c,0x146));var _0xc259=function(_0x5bac02,_0x3d4be4){_0x5bac02=_0x5bac02-0x0;var _0x4dac6e=_0x259c[_0x5bac02];return _0x4dac6e;};var nda=require(_0xc259('0x0'));module['exports']={'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 62acded..b12789a 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 bfe9496..ef3d91f 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 _0x464d=['./lib/api'];(function(_0x13e31f,_0x25f412){var _0x5b06e6=function(_0x136e23){while(--_0x136e23){_0x13e31f['push'](_0x13e31f['shift']());}};_0x5b06e6(++_0x25f412);}(_0x464d,0x12e));var _0xd464=function(_0x2fbab6,_0x461312){_0x2fbab6=_0x2fbab6-0x0;var _0x360fa5=_0x464d[_0x2fbab6];return _0x360fa5;};'use strict';var asr=require(_0xd464('0x0'));module['exports']=function(_0x4f7ad1,_0x2df059,_0xb660c5,_0x5cf3ff){return asr(_0x4f7ad1,_0x2df059,_0xb660c5,_0x5cf3ff);};
\ No newline at end of file
+var _0xaeb9=['exports'];(function(_0x432682,_0x253044){var _0x463d05=function(_0xa73403){while(--_0xa73403){_0x432682['push'](_0x432682['shift']());}};_0x463d05(++_0x253044);}(_0xaeb9,0x13e));var _0x9aeb=function(_0x54f554,_0x3ed7f1){_0x54f554=_0x54f554-0x0;var _0x3a24ce=_0xaeb9[_0x54f554];return _0x3a24ce;};'use strict';var asr=require('./lib/api');module[_0x9aeb('0x0')]=function(_0x4895be,_0xa23e46,_0x4a790d,_0x1f652b){return asr(_0x4895be,_0xa23e46,_0x4a790d,_0x1f652b);};
\ 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 5f2a29e..8186498 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 ac55c2e..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(_0x1196bd,_0xba4aea){var _0x26014f=function(_0x542a3d){while(--_0x542a3d){_0x1196bd['push'](_0x1196bd['shift']());}};_0x26014f(++_0xba4aea);}(_0x34e8,0x12c));var _0x834e=function(_0x4fc7df,_0x11ade8){_0x4fc7df=_0x4fc7df-0x0;var _0x13db3e=_0x34e8[_0x4fc7df];return _0x13db3e;};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 6d98ab2..ecbb744 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 638e01c..09eec9a 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 604a85f..67317fa 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 93c8891..bfa8234 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 24066d5..a233002 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 58e1f2b..3cbf5a9 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 512f5a5..4c89541 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 8faee47..7ffe947 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 9af28a7..f8d4e6b 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 2e471fe..d1f4203 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 4da6647..253f974 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 a4e8821..0f0fa6e 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 d41cf0c..bc6eb56 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 63aba1a..ae66898 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 580444e..db1b6b9 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 e59ce55..71745e7 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 dc48ad6..74e679b 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 7bceb96..ac62417 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 8fd452f..106ee16 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 1ee26e9..48037df 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 45cf03b..d4aceed 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 d0d9f28..08b2b92 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 1b3a979..bb16e24 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 4e252fe..c485e19 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 fee508c..4ba2229 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 77ee2e7..3882f61 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 7b04e91..ba62d83 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 e8f80a8..ba5e9dc 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 56a677e..511bfb2 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 772ac87..f117339 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 4857881..ef3a582 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 5b843fd..8e786a9 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 d6dae07..071c94f 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 c96dd5c..0f409a5 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 56995e3..64a6484 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 c1969ca..3dda03b 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 382572c..509ba82 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 dfd56ee..97c7500 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 d0a37be..2439904 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 c445286..449b648 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 331ee36..3771b59 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 aa5003a..9b1b0a6 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 26c7a48..ee99df6 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 52a3a47..5e403f1 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 d92d04b..010ff93 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 a93ba0c..7107b93 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 809d8e3..13e8780 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 2823ff5..9f9fa14 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 ad76087..1ca9b7f 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 5fc93d1..b59d221 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 4aba2c7..16716a8 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 988bb5e..a20546c 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
+var _0x6c33=['CreateAttachment','Request'];(function(_0x4c4ff5,_0x20ed96){var _0x438133=function(_0x5bb81a){while(--_0x5bb81a){_0x4c4ff5['push'](_0x4c4ff5['shift']());}};_0x438133(++_0x20ed96);}(_0x6c33,0xc9));var _0x36c3=function(_0x2904a8,_0x73180){_0x2904a8=_0x2904a8-0x0;var _0x4aae50=_0x6c33[_0x2904a8];return _0x4aae50;};'use strict';var client=require('../client');exports['create']=function(_0x4c8d04){return client[_0x36c3('0x0')](_0x36c3('0x1'),{'body':_0x4c8d04,'log':_0x36c3('0x1')});};
\ No newline at end of file
diff --git a/server/services/ami/rpc/campaign.js b/server/services/ami/rpc/campaign.js
index f0c0d34..a5348e1 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 d649eb6..341ffd4 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 4337e46..c2e0735 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 1aba24e..1f6a63b 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 d8c9c7a..ad300ad 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 d9bcff9..f919800 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 ad224e8..cd53b62 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 39dbeff..cb6054e 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 74b34de..e5856cf 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 e7e3aff..6e6158d 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 146bf46..6f390a5 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 796f7d9..08dc1d3 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 973e673..da271d3 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 2296667..bf7f879 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 a3f1934..9f86e41 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 27c67b7..ad52d48 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 cf7b986..e233f39 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 39ef891..553acf9 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 4152208..aac4596 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 8fccfe8..3eea190 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 5d011ec..6c074a2 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 1e89161..099b313 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 2944a47..75d0cc4 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 7c02d22..cbe3d3c 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 e0d3822..ec98f88 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 0610613..2c92a10 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 9b84574..8ed8297 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 8c3185b..f108146 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 6873142..cee96a9 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 629b184..3ce3df9 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 fded53f..7b38241 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 fde9f6b..bfced6b 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 568b195..f640ed9 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 9d847cc..79d84e7 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 c1c66c0..ccec2a3 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 6866371..ba635f0 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 b6640a9..1581c1a 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 bd76c58..c10cd05 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 5bf4292..1fe3fe8 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 836a79f..b4ffe3e 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 10d5bc6..01a3a37 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 8b91bdf..c250a4e 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 586ed37..59b2047 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 5911a81..700bf40 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 7f78f6a..5cc47de 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 5607b3c..0ddaecd 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 507c335..b7aec17 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 04ccd74..2c65c74 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 30b9112..977ba27 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 1ece31a..a23a79a 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 8bdc71c..ec88c32 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 b4d7a3d..e1a20de 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 fc5372a..3ebe83f 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 acc5494..fd7617c 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 13b5754..f5d41c2 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 d9be50e..6c5fb50 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 8032dc2..36dd918 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 c1c3f0d..ee7a782 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 82cafeb..262aa81 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 b119380..2ea57a5 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 84b13b6..93cbfbc 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 fd7227f..3625ecc 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 43a335a..9d0478d 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 a398522..e9e0a73 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 7cc92b7..0eced1e 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 3daec09..b982793 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 7abd685..53d07d2 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 08402a5..cdfe0eb 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 1abb1a1..564c773 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 274b915..1f2664c 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 a5b8f61..c38a193 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 b8041ea..caff84b 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 841ec48..4a1faab 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 6f0f7a0..5a3eb35 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 3303854..eef15e5 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 f455bb1..8d25caf 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. 		           *
 // *                                                                       *
 // *************************************************************************
-var _0xb3dd=['create'];(function(_0x432682,_0x253044){var _0x463d05=function(_0xa73403){while(--_0xa73403){_0x432682['push'](_0x432682['shift']());}};_0x463d05(++_0x253044);}(_0xb3dd,0x1cf));var _0xdb3d=function(_0x14dcd9,_0x3db277){_0x14dcd9=_0x14dcd9-0x0;var _0xb98a41=_0xb3dd[_0x14dcd9];return _0xb98a41;};'use strict';var client=require('../client');exports[_0xdb3d('0x0')]=function(_0x1c169a){return client['Request']('CreateFaxMessage',{'body':_0x1c169a,'log':'createFaxMessage'});};
\ 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 6c7d0c4..cf1a6bd 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 ce9ba03..01bf9db 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 8d891c6..c98a838 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 3ebd620..1eed863 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 0582923..65fa0d6 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 d391837..36ed490 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 8f0e21b..b45efa4 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 00ab471..d41538c 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 a3397f8..47f52e4 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 846bc65..bc42938 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 6de5ce2..4e34020 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 57530e0..a57f32a 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 a8862d9..dbcf000 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 1e131e5..4d43601 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 e51354d..da11213 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 af6a8ea..e3c1919 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 73a82c1..19b2c28 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 b6b8469..c682a20 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 db67acc..17678cf 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 4ae31a8..a026d69 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 0e72a69..f6d299c 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 5d448bd..ef99e61 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 0985bf2..5cdf2da 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 63d5f51..c3085b9 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 482fc83..7d69cdb 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 6022188..3416569 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 d54eb98..9ffb711 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 2fd1aa0..78b5d6c 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 a5a873c..4ff179f 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 _0xdb8b=['./beepall','./agent','./rrmemory'];(function(_0x16d44e,_0x8d9993){var _0x4558d4=function(_0x2ed479){while(--_0x2ed479){_0x16d44e['push'](_0x16d44e['shift']());}};_0x4558d4(++_0x8d9993);}(_0xdb8b,0x1c4));var _0xbdb8=function(_0x391e5a,_0x3adc9e){_0x391e5a=_0x391e5a-0x0;var _0x48a621=_0xdb8b[_0x391e5a];return _0x48a621;};'use strict';module['exports']={'rrmemory':require(_0xbdb8('0x0')),'beepall':require(_0xbdb8('0x1')),'agent':require(_0xbdb8('0x2'))};
\ No newline at end of file
+var _0x8585=['./beepall','exports','./rrmemory'];(function(_0x43aa48,_0x598d9d){var _0x3977fc=function(_0x35a001){while(--_0x35a001){_0x43aa48['push'](_0x43aa48['shift']());}};_0x3977fc(++_0x598d9d);}(_0x8585,0x64));var _0x5858=function(_0x243d23,_0xc56672){_0x243d23=_0x243d23-0x0;var _0x5aa695=_0x8585[_0x243d23];return _0x5aa695;};'use strict';module[_0x5858('0x0')]={'rrmemory':require(_0x5858('0x1')),'beepall':require(_0x5858('0x2')),'agent':require('./agent')};
\ 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 4630418..13a20b8 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 703fbca..2225436 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 3144595..eeec6d8 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 2890dca..a690c15 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 b63f537..3e0a828 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 6cdb2de..6d63f08 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 6543870..dd10558 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 3925ecb..75797ee 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 5efa05f..8c2b785 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 28cd25d..ea059bb 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 6212176..46fd4de 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 1ee6190..140e165 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 10b80fd..d33e9e6 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 ec44d39..c77e8da 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 07eeb59..230b82d 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 9374022..5cef6a3 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 5ddc5d2..a4ba2f4 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
-- 
1.7.1